C# 用 XPath 搜索 XML
XPath是XML文档的查询语言,就像SQL是关系数据库的查询语言一样。它由表21-7中的两个方法使用,以免遍历XML文档的整个树。但是需要花一定的时间才能熟悉它,因为其语法与SQL或C#完全不同。
为正确使用XPath,下面要使用XML文件Elements.xml。该文档包含元素周期表中的部分化学元素。这个XML文件的部分内容列在稍后的“选择节点”示例中,其完整内容可以在本书网站的本章下载代码Elements.xmi中找到。
下表列出了 XPath执行的最常见操作。如果未特别说明,XPath查询示例就根据它操作的节点来选择。在必须有一个节点名称的地方,可以假定当前节点是XML文档中节点。
目 的 | XPath查询示例 |
选择当前节点 | . |
选择当前节点的父节点 | .. |
选择当前节点的所有子节点 | * |
选择具有特定名称的所有子节点,这里是title | Title |
选择当前节点的一个特性 | @Type |
选择当前节点的所有特性 | @* |
按照索引选择一个子节点,这里是第二个元素节点 | element[2] |
选择当前节点的所有文本节点 | text() |
选择当前节点的一个或多个孙子节点 | element/text() |
在文档中选择具有特定名称的所有节点,在这里是所有的mass节点 | //mass |
在文档中选择具有特定名称和特定父节点名称的所有节点,在这里父节点名称是element,节点名称是name | //clement/name |
选择值满足条件的节点,这里选择元素名为Hydrogen的元素 | //element[name='Hydrogen'] |
选择特性值满足条件的节点,在此.Type特性的值迪Noble Gas | //element[@Type=*Noble Gas'] |
点击加载更多评论>>