XPath语法 在C#中使用XPath示例

XPath可以快速定位到Xml中的节点或者属性。XPath语法很简单,但是强大够用,它也是使用xslt的基础知识。

示例Xml:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

<?xml version="1.0" encoding="utf-8" ?>

<pets>

  <cat color="black" weight="10">

    <price>100</price>

    <desc>this is a black cat</desc>

  </cat>

  <cat color="white" weight="9">

    <price>80</price>

    <desc>this is a white cat</desc>

  </cat>

  <cat color="yellow" weight="15">

    <price>80</price>

    <desc>this is a yellow cat</desc>

  </cat>

  <dog color="black" weight="10">

    <price>100</price>

    <desc>this is a black dog</desc>

  </dog>

  <dog color="white" weight="9">

    <price>80</price>

    <desc>this is a white dog</desc>

  </dog>

  <dog color="yellow" weight="15">

    <price>80</price>

    <desc>this is a yellow dog</desc>

  </dog>

</pets>

XPath的语法:

1. XPath中的符号


符号


说明


示例


示例说明


/


表示从根节点开始选择


/pets


选择根节点pets


表示节点和子节点之间的间隔符


/pets/dog


选择pets节点下的dog节点


//xx


表示从整个xml文档中查找,而不考虑当前节点位置


//price


选择文档中所有的price节点


.


单个英文半角句点表示选择当前节点


/pets/.


选择pets节点


..


双点,表示选择父节点


/pets/dog[0]/..


表示pets节点,也就是第一个dog节点的父节点


@xx


表示选择属性


//dog/@color


表示选择所有dog节点的color属性集合


[…]


中括号表示选择条件,括号内为条件


//dog[@color=’white’]


所有color为white的dog节点


//dog[/price<100]


所有price字节点值小于100的dog节点


中括号内数字为节点索引,类似c#等语言中的数组,数组下标是从1开始的


//dog[1]


第1个dog节点


//dog[last()]


最后一个dog节点,last()是xPath内置函数


|


单竖杠表示合并节点结合


//dog[@color=’white’] | //cat[@color=’white’]


color属性为white的dog节点和color属性为white的cat节点


*


星号表示任何名字的节点或者属性


//dog/*


表示dog节点的所有子节点


//dog/@*


表示dog节点的所有属性节点

时间: 2024-07-30 13:44:53

XPath语法 在C#中使用XPath示例的相关文章

XPath语法 在C#中使用XPath示例 【转http://www.cnblogs.com/yukaizhao/archive/2011/07/25/xpath.html】非常详细的文章

XPath语法 在C#中使用XPath示例 XPath可以快速定位到Xml中的节点或者属性.XPath语法很简单,但是强大够用,它也是使用xslt的基础知识. 示例Xml: <?xml version="1.0" encoding="utf-8" ?> <pets> <cat color="black" weight="10"> <price>100</price>

C#操作Xml:XPath语法 在C#中使用XPath示例

XPath可以快速定位到Xml中的节点或者属性.XPath语法很简单,但是强大够用,它也是使用xslt的基础知识. 示例Xml: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 <?xml version="1.0" encoding="utf-8" ?> <pets>   <cat color="black&quo

XPath语法 在C#中使用XPath例子与用法

XPath可以快速定位到Xml中的节点或者属性.XPath语法很简单,但是强大够用,它也是使用xslt的基础知识.示例Xml: <?xml version="1.0" encoding="utf-8" ?> <pets> <cat color="black" weight="10"> <price>100</price> <desc>this is a b

在Java中使用xpath对xml解析

xpath是一门在xml文档中查找信息的语言.xpath用于在XML文档中通过元素和属性进行导航.它的返回值可能是节点,节点集合,文本,以及节点和文本的混合等.在学习本文档之前应该对XML的节点,元素,属性,文本,处理指令,注释,根节点,命名空间以及节点关系有一定的了解以及对xpath也有了解.XML学习地址:http://www.runoob.com/xml/xml-tutorial.htmlxpath基本语法学习地址:http://www.runoob.com/xpath/xpath-tut

XPath 语法规则

http://www.cnblogs.com/michaelsea/archive/2007/10/18/929230.html XPath is a language for finding information in an XML document. XPath is used to navigate through elements and attributes in an XML document. Xpath是一种能够在XML文档中寻找信息的语言.它通过XML文档中的元素和属性来进行

XPath可以快速定位到Xml中的节点或者属性。XPath语法很简单,但是强大够用,它也是使用xslt的基础知识。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 <?xml version="1.0" encoding="utf-8" ?> <pets>   <cat color="black" weight="10">     <price>100</price>    

Spider-scrapy 中的 xpath 语法与调试

把setting中的机器人过滤设为False ROBOTSTXT_OBEY = False 1 语法 artcile 选取所有子节点 /article 选取根元素 artile article/a 选取所有属于artile的子元素中的a元素 //div 选取所有 div 元素(不管出现在文档任何位置) article//div 选取所有属于artile元素的后代的 div 元素,不管出现在 article 之下的任何位置 //@class 选取所有名为 class 的属性. /article/d

[XPath/Python] XPath 与 lxml (二)XPath 语法

XPath 选取节点时使用的表达式是一种路径表达式.节点是通过路径(path)或者步(steps)来选取的. 本章使用以下 XML 文档作为示例. <?xml version="1.0" encoding="utf8"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</pr

XPath在asp.net中查询XML

.NET Framework 2.0中可以使用System.Xml.XPath命名空间下的类对XML文档进行基于路径的查询,在查询过程中需要构造类似SQL的查询字符串,该字符串遵循XPath语法.它由下表中的两个方法使用,以避免遍历XML文档的整个树.  方法名  说明  SelectSingleNode  这个方法用于选择一个节点.如果创建一个查找多个节点的查询,就只返回第一个节点  SelectNodes  这个方法以XmlNodesList类的形式返回一个节点集合 Test.cs=====