xpath開始使用xpath


備註

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的元素

//*[@id='divone'] # Returns <div class='container' id='divone'>
 

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

/html/body/div/p[@id='enclosedone'] # Returns <p class='common' id='enclosedone'>Element One</p>
 

選擇具有特定id和類的元素

//p[@id='enclosedone' and @class='common'] # Returns <p class='common' id='enclosedone'>Element One</p>
 

選擇特定元素的文本

//*[@id='enclosedone']/text() # Returns Element One
 

示例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
 

將選擇此元素:

<e a="1"/>
 

選擇文字

對於示例XML(沒有名稱空間):

這個XPath,

/r/f/text()
 

將選擇具有此字符串值的文本節點:

"Text 1"
 

而這個XPath,

string(/r/f)
 

將返回f 的字符串值,這也是:

"Text 1"
 

在瀏覽器控制台中測試Xpath

測試xpath的快速方法是在瀏覽器開發人員工具控制台中。

格式是

   $x('//insert xpath here')
 

$ - 指定它是一個選擇器。

x - 指定它使用xpath

例:

$x("//button[text() ='Submit']")
 

輸入此命令後,它將返回所有出現的元素,這些元素是文本等於Submit的按鈕。