您好,登錄后才能下訂單哦!
這篇文章主要介紹在XPath查詢中指定軸的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
以下示例顯示如何在 XPath 查詢中指定軸。這些示例中的 XPath 查詢都在 SampleSchema1.xml 中所包含的映射架構(gòu)上指定。有關(guān)此示例架構(gòu)的信息,請(qǐng)參見示例 XPath 查詢。
示例
A. 檢索上下文節(jié)點(diǎn)的子元素
此 XPath 查詢選定上下文節(jié)點(diǎn)的所有 <Customer> 子元素:
/child::Employee
在此查詢中,child 是軸,Customer 是節(jié)點(diǎn)測(cè)試(如果 Customer 是 <element> 節(jié)點(diǎn),則該測(cè)試為 TRUE,因?yàn)?<element> 是與 child 軸相關(guān)聯(lián)的主要節(jié)點(diǎn)類型)。
child 是默認(rèn)軸。因此,可將該查詢編寫為:
/Employee
在映射架構(gòu)上測(cè)試 XPath 查詢
創(chuàng)建下面的模板 (MyTemplate.xml) 并將其保存在與 template 虛擬名稱相關(guān)聯(lián)的目錄中。
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema2.xml"> /Employee </sql:xpath-query> </ROOT>
下面的 URL 執(zhí)行模板:
http://IISServer/VirtualRoot/template/MyTemplate.xml
可直接在 URL 中指定 XPath 查詢:
http://IISServer/nwind/schema/SampleSchema1.xml/child::Customer?root=root
虛擬名稱 schema 是 schema 類型。架構(gòu)文件存儲(chǔ)在與 schema 類型虛擬名稱相關(guān)聯(lián)的目錄下。root 參數(shù)用于為所得到的 XML 文檔指定頂層元素(root 可為任意值)。
下面是模板執(zhí)行的部分結(jié)果集:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <Employee EmployeeID="1" LastName="Davolio" FirstName="Nancy" Title="Sales RePResentative" /> <Employee EmployeeID="2" LastName="Fuller" FirstName="Andrew" Title="Vice President, Sales" /> ... </ROOT>
B. 檢索上下文節(jié)點(diǎn)的孫節(jié)點(diǎn)
此 XPath 查詢選定上下文節(jié)點(diǎn)的 <Customer> 子元素的所有 <Order> 子元素:
/child::Customer/child::Order
在此查詢中,child 是軸,Customer 和 Order 是節(jié)點(diǎn)測(cè)試(如果 Customer 和 Order 是 <element> 節(jié)點(diǎn),則這些節(jié)點(diǎn)測(cè)試為 TRUE,因?yàn)?<element> 節(jié)點(diǎn)是 child 軸的主要節(jié)點(diǎn))。對(duì)于每個(gè)匹配 <Customer> 的節(jié)點(diǎn),將匹配 <Orders> 的節(jié)點(diǎn)添加到結(jié)果中。結(jié)果集中只返回 <Order>。
child 是默認(rèn)軸。因此,可將此查詢指定為:
/Customer/Order
在映射架構(gòu)上測(cè)試 XPath 查詢
創(chuàng)建下面的模板 (MyTemplate.xml) 并將其保存在與 template 虛擬名稱相關(guān)聯(lián)的目錄中。
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Customer/Order </sql:xpath-query> </ROOT>
以上是“在XPath查詢中指定軸的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。