开始使用xpath

Download xpath eBook

备注

XPath是一种用于处理XML文档部分的语言。

它在XSLT中使用,是XQuery的一个子集。库也适用于大多数其他编程语言。

XPath是一个国际标准,其规范由W3C发布:

版本

发布日期
1.0 1999-12-16
2.0 2007-01-23
3.0 2014年4月8日
3.1 (W3C候选推荐) 2015年12月17日

常见的HTML操作

如果输入HTML DOM是

<html>
    <body>
        <a>link</a>
        <div class='container' id='divone'>
            <p class='common' id='enclosedone'>Element One</p>
            <p class='common' id='enclosedtwo'>Element Two</p>
        </div>
    </body>
</html>
 

在整个页面中查找具有特定ID的元素

<html>
    <body>
        <a>link</a>
        <div class='container' id='divone'>
            <p class='common' id='enclosedone'>Element One</p>
            <p class='common' id='enclosedtwo'>Element Two</p>
        </div>
    </body>
</html>
 

在特定路径中查找具有特定ID的元素

<html>
    <body>
        <a>link</a>
        <div class='container' id='divone'>
            <p class='common' id='enclosedone'>Element One</p>
            <p class='common' id='enclosedtwo'>Element Two</p>
        </div>
    </body>
</html>
 

选择具有特定id和类的元素

<html>
    <body>
        <a>link</a>
        <div class='container' id='divone'>
            <p class='common' id='enclosedone'>Element One</p>
            <p class='common' id='enclosedtwo'>Element Two</p>
        </div>
    </body>
</html>
 

选择特定元素的文本

<html>
    <body>
        <a>link</a>
        <div class='container' id='divone'>
            <p class='common' id='enclosedone'>Element One</p>
            <p class='common' id='enclosedtwo'>Element Two</p>
        </div>
    </body>
</html>
 

示例XML(没有名称空间)

下面是一些示例XML,可以编写示例XPath:

<r>
  <e a="1"/>
  <f a="2" b="1">Text 1</f>
  <f/>
  <g>
    <i c="2">Text 2</i>
    Text 3
    <j>Text 4</j>
  </g>
</r>
 

选择一个元素

对于示例XML(没有名称空间):

这个XPath,

/r/e
 

将选择此元素:

/r/e
 

选择文字

对于示例XML(没有名称空间):

这个XPath,

/r/f/text()
 

将选择具有此字符串值的文本节点:

/r/f/text()
 

而这个XPath,

/r/f/text()
 

将返回f 的字符串值,这也是:

/r/f/text()
 

在浏览器控制台中测试Xpath

测试xpath的快速方法是在浏览器开发人员工具控制台中。

格式是

   $x('//insert xpath here')
 

$ - 指定它是一个选择器。

x - 指定它使用xpath

例:

   $x('//insert xpath here')
 

输入此命令后,它将返回所有出现的元素,这些元素是文本等于Submit的按钮。

Stats

108 Contributors: 6
Thursday, June 1, 2017
许可下: CC-BY-SA

不隶属于 Stack Overflow
Rip Tutorial: info@zzzprojects.com

下载电子书