【发布时间】:2017-06-30 15:31:58
【问题描述】:
您好,我正在摆弄 xml 文件,但我注意到我有一些问题要解决。
我有一个以根节点开头的 Xml,然后有另一个可以更改名称的子节点,例如:
<root>
<Child1>
</root>
因此,鉴于“Child1”可以更改为“Child2”或“Child3”,我让这个 linq 能够从我遇到的任何事情中提取名称。
第一:
XElement root = XElement.Parse(xml);
var childType = root.Descendants().First(x => x.Name == "Child1" || x.Name == "Child2"|| x.Name == "Child3").Name;
所以当我的 xml 没有命名空间时,如上所示,它工作正常,我设法从节点标签中提取名称。
但是当我在根标签中有一个命名空间时,它会抛出一个错误:
<root xmlns="namespace">
<Child1>
</root>
那个xml通过相同的linq,抛出:
序列不包含匹配元素
【问题讨论】: