【问题标题】:Why doesn't XDocument.Parse() parse my XML properly?为什么 XDocument.Parse() 不能正确解析我的 XML?
【发布时间】:2011-06-06 01:42:24
【问题描述】:

我正在尝试使用 XDocument.Parse(string s) 来解析一些从基于 REST 的 API 返回的 XML。解析 XML 后,它会创建一个新的 XDocument,但该文档不包含正确解析的 XML 节点。第一个节点的名称是正确的节点名称,但值是来自 XML 的所有文本的串联,无论 Element 属于哪个。谁能帮我弄清楚发生了什么?

XML

<sci_reply version="1.0">
  <send_message>
    <device id="00000000-00000000-00000000-00000000">
      <error id="303">
        <desc>Invalid target. Device not found.</desc>
      </error>
    </device>
    <error>Invalid SCI request. No valid targets found.</error>
  </send_message>
</sci_reply>

XDocument 对象的调试视图

【问题讨论】:

  • 等等,有什么问题吗?如果您在对象上调用ToString(),调试器只会显示您将获得的字符串。没有错,如果有,解析的时候会抛出异常。

标签: c# .net linq


【解决方案1】:

这是预期的行为。 XML 元素的Value 是其所有子元素的值的串联。如果您想实际访问 XML,请阅读有关 LINQ to XMLclasses in the System.Xml.Linq namespace 的内容。

【讨论】:

    【解决方案2】:

    这只是调试器nice

    正在显示根及其所有子项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2011-06-11
      相关资源
      最近更新 更多