我有一个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>
有人能帮上忙吗?
谢谢
发布于 2013-07-02 22:21:21
将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());
发布于 2013-07-02 22:19:37
您的直接元素节点可能不是"data"...try子代
doc.Descendants("data");
https://stackoverflow.com/questions/17427930
复制相似问题