常用的XPath語(yǔ)法有以下幾種:
節(jié)點(diǎn)選擇:使用節(jié)點(diǎn)名稱來(lái)選擇節(jié)點(diǎn),例如:/book 表示選擇根節(jié)點(diǎn)下的所有book節(jié)點(diǎn)。
路徑選擇:使用路徑來(lái)選擇節(jié)點(diǎn),例如:/bookstore/book 表示選擇根節(jié)點(diǎn)下的bookstore節(jié)點(diǎn)下的所有book節(jié)點(diǎn)。
屬性選擇:使用@符號(hào)來(lái)選擇節(jié)點(diǎn)的屬性,例如:/bookstore/book[@category=‘fiction’] 表示選擇根節(jié)點(diǎn)下的bookstore節(jié)點(diǎn)下的所有category屬性值為fiction的book節(jié)點(diǎn)。
文本選擇:使用text()函數(shù)來(lái)選擇節(jié)點(diǎn)的文本內(nèi)容,例如:/bookstore/book/title/text() 表示選擇根節(jié)點(diǎn)下的bookstore節(jié)點(diǎn)下的所有book節(jié)點(diǎn)下的title節(jié)點(diǎn)的文本內(nèi)容。
位置選擇:使用方括號(hào)[]來(lái)選擇節(jié)點(diǎn)的位置,例如:/bookstore/book[1] 表示選擇根節(jié)點(diǎn)下的bookstore節(jié)點(diǎn)下的第一個(gè)book節(jié)點(diǎn)。
通配符選擇:使用來(lái)選擇任意節(jié)點(diǎn),例如:/bookstore/ 表示選擇根節(jié)點(diǎn)下的bookstore節(jié)點(diǎn)下的所有子節(jié)點(diǎn)。
軸選擇:使用軸名稱來(lái)選擇節(jié)點(diǎn),例如:/bookstore/ancestor::book 表示選擇根節(jié)點(diǎn)下的bookstore節(jié)點(diǎn)的所有祖先節(jié)點(diǎn)中的book節(jié)點(diǎn)。
條件判斷:使用邏輯運(yùn)算符(and、or、not)和關(guān)系運(yùn)算符(=、!=、<、>、<=、>=)來(lái)對(duì)節(jié)點(diǎn)進(jìn)行條件判斷,例如:/bookstore/book[price>35] 表示選擇根節(jié)點(diǎn)下的bookstore節(jié)點(diǎn)下的所有價(jià)格大于35的book節(jié)點(diǎn)。
函數(shù)使用:使用內(nèi)置函數(shù)來(lái)處理節(jié)點(diǎn)和屬性,例如:count(/bookstore/book) 表示計(jì)算根節(jié)點(diǎn)下的bookstore節(jié)點(diǎn)下的所有book節(jié)點(diǎn)的數(shù)量。