如何确定XElement.Elements()是否包含具有特定名称的节点?

时间:2008-10-27 13:54:23

标签: c# xml linq .net-3.5

例如,对于以下XML

 <Order>
  <Phone>1254</Phone>
  <City>City1</City>
  <State>State</State>
 </Order>

我可能想知道XElement是否包含“City”节点。

3 个答案:

答案 0 :(得分:55)

只需使用Elements的其他重载。

bool hasCity = OrderXml.Elements("City").Any();

答案 1 :(得分:4)

我做XLinq已经有一段时间了,但是这里是我的WAG:

from x in XDocument
where x.Elements("City").Count > 0
select x

答案 2 :(得分:1)

大卫是最好的,但如果你想要,你可以编写自己的谓词,如果你需要一些自定义逻辑OrderXML.Elements("City").Exists(x=>x.Name =="City")