位置:首頁(yè) > 軟件操作教程 > 編程開(kāi)發(fā) > C# > 問(wèn)題詳情

C# 用 XPath 搜索 XML

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-10

    XPath是XML文檔的查詢(xún)語(yǔ)言,就像SQL是關(guān)系數(shù)據(jù)庫(kù)的查詢(xún)語(yǔ)言一樣。它由表21-7中的兩個(gè)方法使用,以免遍歷XML文檔的整個(gè)樹(shù)。但是需要花一定的時(shí)間才能熟悉它,因?yàn)槠湔Z(yǔ)法與SQL或C#完全不同。

    為正確使用XPath,下面要使用XML文件Elements.xml。該文檔包含元素周期表中的部分化學(xué)元素。這個(gè)XML文件的部分內(nèi)容列在稍后的“選擇節(jié)點(diǎn)”示例中,其完整內(nèi)容可以在本書(shū)網(wǎng)站的本章下載代碼Elements.xmi中找到。

    下表列出了 XPath執(zhí)行的最常見(jiàn)操作。如果未特別說(shuō)明,XPath查詢(xún)示例就根據(jù)它操作的節(jié)點(diǎn)來(lái)選擇。在必須有一個(gè)節(jié)點(diǎn)名稱(chēng)的地方,可以假定當(dāng)前節(jié)點(diǎn)是XML文檔中節(jié)點(diǎn)。

XPath查詢(xún)示例

選擇當(dāng)前節(jié)點(diǎn)

  .

選擇當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)

  ..

選擇當(dāng)前節(jié)點(diǎn)的所有子節(jié)點(diǎn)

*

選擇具有特定名稱(chēng)的所有子節(jié)點(diǎn),這里是title

Title

選擇當(dāng)前節(jié)點(diǎn)的一個(gè)特性

@Type

選擇當(dāng)前節(jié)點(diǎn)的所有特性

  @*

按照索引選擇一個(gè)子節(jié)點(diǎn),這里是第二個(gè)元素節(jié)點(diǎn)

element[2]

選擇當(dāng)前節(jié)點(diǎn)的所有文本節(jié)點(diǎn)

text()

選擇當(dāng)前節(jié)點(diǎn)的一個(gè)或多個(gè)孫子節(jié)點(diǎn)

element/text()

在文檔中選擇具有特定名稱(chēng)的所有節(jié)點(diǎn),這里是所有的mass節(jié)點(diǎn)

//mass

在文檔中選擇具有特定名稱(chēng)和特定父節(jié)點(diǎn)名稱(chēng)的所有節(jié)點(diǎn),在這里父節(jié)點(diǎn)名稱(chēng)是element,節(jié)點(diǎn)名稱(chēng)是name

//clement/name

選擇值滿足條件的節(jié)點(diǎn),這里選擇元素名為Hydrogen的元素

//element[name='Hydrogen']

擇特性值滿足條件的節(jié)點(diǎn),在此.Type特性的值迪Noble Gas

//element[@Type=*Noble Gas']


繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部