【发布时间】:2013-11-21 06:44:55
【问题描述】:
我想在XDocument中获取相同元素的所有属性值
例如
<guideline >
<title>hello world</title>
<breadcrumb>
<ulink url="1.htm">hello world</ulink>
</breadcrumb>
<breadcrumb>
<ulink url="2.htm">Chronic Care</ulink>
</breadcrumb>
<breadcrumb>
<ulink url="3.htm">hello world</ulink>
<emphasis role="bold"> ></emphasis>
<ulink url="4.htm">hello world</ulink>
</breadcrumb>
<breadcrumb>
<ulink url="5.htm">hello world</ulink>
<emphasis role="bold"> ></emphasis>
<ulink url="8.htm">hello world</ulink>
</breadcrumb>
<breadcrumb>
<ulink url="6.htm">hello world</ulink>
<emphasis role="bold"> ></emphasis>
<ulink url="7.htm">hello world</ulink>
</breadcrumb>
</guideline>
如果我有这种 xml,我想要 <ulink> 的所有 url 值而不遍历每个元素。
我已经尝试过了,但对我不起作用:
var urls = from vector in this.root.Descendants(xmlns + "ulink")
select vector.Attribute("url").Value;
【问题讨论】:
-
你收到
DoesNotWorkException了吗? -
from vector in this.root.Descendants(xmlns + "ulink")是否可以获取元素? -
没有例外,它没有任何价值。我刚试过,this.root.Descendants(xmlns + "ulink") 但这都不返回值
-
在这种情况下,我认为您的命名空间可能有问题。可能是拼写错误
-
谢谢你是对的,我试图将 xmldocument 解析为 XDocument。并改用 xdocument 玩。也许我应该继续使用 xmldocument。
标签: c# xml linq-to-xml