我有一个简单的XML
<AllBands>
<Band>
<Beatles ID="1234" started="1962">greatest Band<![CDATA[lalala]]></Beatles>
<Last>1</Last>
<Salary>2</Salary>
</Band>
<Band>
<Doors ID="222" started="1968">regular Band<![CDATA[lalala]]></Doors>
<Last>1</Last>
<Salary>2</Salary>
</Band>
</AllBands>
然而,
当我想要访问“Doors乐队”并更改它的ID时:
using (var stream = new StringReader(result))
{
XDocument xmlFile = XDocument.Load(stream);
var query = from c in xmlFile.Elements("Band")
select c;
...
查询
没有结果
但是,如果我写 xmlFile.Elements().Elements("Band")
,那么它会找到。
问题在哪里?
需要从根目录指定完整路径吗?
如果需要,为什么没有指定AllBands
也能工作?
XDocument
导航是否要求我知道所需元素的完整级别结构?
XNamespace xsiNs = "http://www.w3.org/2001/XMLSchema-instance"; var element = productionPackage.Descendants(xsiNs + "ElementToFind")
- Daniel Eisenreich