Как определить, содержит ли XElement.Elements () узел с конкретным именем? - PullRequest
24 голосов
/ 27 октября 2008

Например, для следующего XML

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

Я мог бы узнать, содержит ли XElement узел "Город" или нет.

Ответы [ 3 ]

55 голосов
/ 27 октября 2008

Просто используйте другую перегрузку для элементов .

bool hasCity = OrderXml.Elements("City").Any();
4 голосов
/ 27 октября 2008

Прошло много времени с тех пор, как я сделал XLinq, но вот мой WAG:

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

;

1 голос
/ 21 июня 2011

Дэвид - лучший, но если вы хотите, вы можете написать свой собственный предикат, если вам нужна какая-то пользовательская логика OrderXML.Elements("City").Exists(x=>x.Name =="City")

...