【问题标题】:Dynamics 365 Plugin parse Note attachment XML without using fileDynamics 365 插件在不使用文件的情况下解析注释附件 XML
【发布时间】:2021-08-16 20:54:47
【问题描述】:

在 Dynamics CRM online 中,我在附有 XML 的注释实体中有一条记录。 从插件中,我需要获取该附件的内容并创建一个 XML 元素,以便我可以将其内容反序列化为对象类并应用一些逻辑。

由于我们处于在线实施中,因此我无法执行创建文件和读取其内容之类的操作。 所以我们所拥有的是附件中的文档内容,它是一个包含多个字符的字符串,如您在此处看到的(附件由 Power Automate 流程生成):

这是我的一些代码:

            byte[] fileContentBytes = Encoding.Default.GetBytes(note.DocumentBody);
            MemoryStream stream = new MemoryStream(fileContentBytes);

            StreamReader globalReader = new StreamReader(stream);

            XmlDocument doc = new XmlDocument();

            doc.Load(globalReader);

错误消息显示 Data at the root level is invalid. Line 1, position 1,因为它试图将无法解析的内容解析为 XML。

【问题讨论】:

  • 任何后续问题?

标签: plugins dynamics-crm powerapps power-automate


【解决方案1】:

Power Automate 正在生成 JSON 文档,您尝试将其解析为 XML,因此失败。

改为try some methods 转换为您需要的格式。

【讨论】:

    【解决方案2】:

    文档正文采用 base 64 编码。

    试试下面的

    byte[] fileContentBytes = Convert.FromBase64String(note.DocumentBody);
    MemoryStream stream = new MemoryStream(fileContentBytes);
    
    StreamReader globalReader = new StreamReader(stream);
    
    XmlDocument doc = new XmlDocument();
    
    doc.Load(globalReader);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-26
      • 2021-05-20
      • 2012-04-19
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      • 1970-01-01
      相关资源
      最近更新 更多