XDocument元素返回null
本文关键字:null 返回 元素 XDocument | 更新日期: 2023-09-27 18:20:52
我有一个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());
您的直接元素节点可能不是"data"。。。尝试子代而不是
doc.Descendants("data");