代码之家  ›  专栏  ›  技术社区  ›  Malik Daud Ahmad Khokhar

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

  •  24
  • Malik Daud Ahmad Khokhar  · 技术社区  · 17 年前

    例如,对于以下XML

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

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

    3 回复  |  直到 17 年前
        1
  •  60
  •   Amy B    17 年前

    只需使用另一个重载即可 Elements .

    bool hasCity = OrderXml.Elements("City").Any();
    
        2
  •  4
  •   James Curran    17 年前

    我做XLinq已经有一段时间了,但我的想法是:

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

    ;

        3
  •  1
  •   Mark    15 年前

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