用于选择节点的XPath查询

时间:2015-06-21 00:36:35

标签: c# xml xpath xmlnodelist

我有以下XML:

   <?xml version="1.0" encoding="utf-8"?>
    <Persons>
      <Person>
        <PersonID>6352</PersonID>
        <Forename>Tristan</Forename>
      </Person>
      <Person>
        <PersonID>6353</PersonID>
        <Forename>Ruth</Forename>
      </Person>
      <Person>
        <PersonID>6913</PersonID>
        <Forename>Mina</Forename>
        <Surname>Asif</Surname>
      </Person>
      <Person>
        <PersonID>6914</PersonID>
        <Forename>Clark</Forename>
        <Surname>Williams</Surname>
      </Person>
    </Persons>

我使用以下代码加载xml:

XmlDocument xDoc = new XmlDocument();
xDoc.Load(@"example.xml");

我需要使用XPath查询和select节点调用来询问所有没有Surname的节点(类似于以下伪节点):

XmlNodeList nodes1 = xDoc.SelectNodes("//Person[Surname=null]");

我对XPath很陌生,任何指针都非常赞赏!

1 个答案:

答案 0 :(得分:2)

您可以使用以下XPath:

//Person[not(Surname)]