繁体   English   中英

XDocument Elements返回null

[英]XDocument Elements return null

我有一个xml,我正在尝试获取特定xname的元素,所以即时尝试做...

XDocument doc = XDocument.Load("C://some.xml");
XDocument subDoc = new XDocument(doc.Elements("data"));

但在subDoc中没有返回任何元素,我知道我有一个名为data的元素,我也试过了命名空间但没有返回任何元素。

我想知道我是否只能获得数据(包括)和他的孩子的XDocument。

some.xml

<chart xmlns="http://www.somenamespace.com">
  <data>
    <table>
      <columns>
        <column id="001" label="A"/>
        <column id="002" label="B"/>
        <column id="003" label="C"/>
        <column id="004" label="D"/>
      </columns>
      <rows>
        <row>
          <cell>
            <float value="30"/>
          </cell>
          <cell>
            <float value="35"/>
          </cell>
          <cell>
            <float value="15"/>
          </cell>
          <cell>
            <float value="18"/>
          </cell>
        </row>
      </rows>
    </table>
  </data>
 <render />
</chart>

有人可以帮忙吗?

谢谢

将System.Linq命名空间指令添加到文件的顶部:

using System.Linq;

试试这个:

XDocument doc = XDocument.Load("c:\\some.xml");
XName name = XName.Get("data", doc.Root.GetDefaultNamespace().NamespaceName);
XDocument subDoc = new XDocument(doc.Descendants(name).First());

您的直接元素节点可能不是“数据”...请尝试后代

doc.Descendants("data");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM