c# - 用于选择节点的 XPath 查询

标签 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 查询和选择节点调用来询问所有没有姓氏的节点(类似于以下伪代码):

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

我对 XPath 还很陌生,非常感谢任何指点!

最佳答案

您可以使用以下 XPath :

//Person[not(Surname)]

关于c# - 用于选择节点的 XPath 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30960198/

相关文章:

java - 在编写列表时如何防止 java XMLEconder 使用如此多的内存?

java - 如何使用 SAX 解析器读取其他标记中包含的 XML 标记

c# - 为什么在某些情况下无法获取特定节点?

wpf - WPF XPath 表达式中的过滤器

java - XPath 表达式获取另一个元素之后的元素

c# - 关于在 C# 中运行时关闭窗体

c# - 复杂的 ASP.NET MVC 绑定(bind)

c# - 存储不同语言时如何在sql server中搜索文本

c# - 如何使用c#在word中插入脚注

java - Unmarshalexception 意外元素,预期元素是(无)