欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

XML DOM XPathResult 對(duì)象

XPath 查詢的結(jié)果。

XPathResult 對(duì)象

XPathResult 對(duì)象表示一個(gè) XPath 表達(dá)式的值。該類型的對(duì)象由 Document.evaluate()XPathExpression.evaluate() 返回。XPath 查詢可以計(jì)算為字符串、數(shù)字、布爾值、節(jié)點(diǎn)以及節(jié)點(diǎn)的列表。XPath 實(shí)現(xiàn)可以以幾種不同的方式返回節(jié)點(diǎn)的列表,因此,這個(gè)對(duì)象為獲取一個(gè) XPath 查詢的實(shí)際結(jié)果而定義了略為復(fù)雜的 API。

要使用一個(gè) XPathResult,首先檢查 resultType 屬性。它將保存一個(gè) XPathResult 常量。這個(gè)屬性的值告訴你需要使用哪個(gè)屬性和方法來確定結(jié)果值。調(diào)用不是為當(dāng)前的 resultType 定義的方法或者讀取不是為它定義的屬性會(huì)導(dǎo)致異常。

IE 不支持 XPathResult API。要在 IE 中執(zhí)行 XPath 查詢,參閱 Node.selectNodes()Node.selectSingleNode() 。

XPathResult 對(duì)象的常量

如下常量定義了一個(gè) XPath 查詢可能返回的類型。XPathResult 對(duì)象的 resultType 屬性保存了這些值中的一個(gè),用來指定對(duì)象保存何種結(jié)果。這些常量與 Document.evaluate() 和 XPathExpression.evaluate() 一起使用,用來指定期待的結(jié)果類型。

這些常量及其含義如下:

ANY_TYPE
把這個(gè)值傳遞給 Document.evaluate() 或 XPathExpression.evaluate() 來指定可接受的結(jié)果類型。屬性 resultType 并不設(shè)置這個(gè)值。
NUMBER_TYPE
numbervalue 保存結(jié)果。
STRING_TYPE
stringvalue 保存結(jié)果。
BOOLEAN_TYPE
booleanValue 保存結(jié)果。
UNORDERED_NODE_ITERATOR_TYPE
這個(gè)結(jié)果是節(jié)點(diǎn)的無序集合,可以通過重復(fù)調(diào)用 iterateNext() 直到返回 null 來依次訪問。在此迭代過程中,文檔必須不被修改。
ORDERED_NODE_ITERATOR_TYPE
結(jié)果是節(jié)點(diǎn)的列表,按照文檔中的屬性排列,可以通過重復(fù)調(diào)用 iterateNext() 直到返回 null 來依次訪問。在此迭代過程中,文檔必須不被修改。
UNORDERED_NODE_SNAPSHOT_TYPE
結(jié)果是一個(gè)隨機(jī)訪問的節(jié)點(diǎn)列表。snapshotLength 屬性指定了列表的長度,并且 snapshotItem() 方法返回指定下標(biāo)的節(jié)點(diǎn)。節(jié)點(diǎn)可能和它們出現(xiàn)在文檔中的順序不一樣。既然這種結(jié)果是一個(gè)“快照”,因此即便文檔發(fā)生變化,它也有效。
ORDERED_NODE_SNAPSHOT_TYPE
這個(gè)結(jié)果是一個(gè)隨機(jī)訪問的節(jié)點(diǎn)列表,就像 UNORDERED_NODE_SNAPSHOT_TYPE,只不過這個(gè)列表是按照文檔中的順序排列的。
ANY_UNORDERED_NODE_TYPE
singleNodeValue 屬性引用和查詢匹配的一個(gè)節(jié)點(diǎn),如果沒有匹配的節(jié)點(diǎn)則為 null。如果有多個(gè)節(jié)點(diǎn)和查詢匹配,singleNodeValue 可能是任何一個(gè)匹配節(jié)點(diǎn)。
FIRST_ORDERED_NODE_TYPE
singleNodeValue 保存了文檔中的第一個(gè)和查詢匹配的節(jié)點(diǎn),如果沒有匹配的節(jié)點(diǎn),則為 null。

XPathResult 對(duì)象的實(shí)例屬性

這里的很多屬性只有當(dāng) resultType 保存了一個(gè)特定的值時(shí)才有效。訪問并非為當(dāng)前 resultType 定義的屬性會(huì)導(dǎo)致異常。

booleanValue
當(dāng) resultType 為 BOOLEAN_TYPE 時(shí),保存結(jié)果值。
invalidIteratorState
如果 resultType 是 ITERATOR_TYPE 常量中的一個(gè)并且文檔已經(jīng)修改,則為 true;它使迭代無效,因?yàn)榻Y(jié)果已經(jīng)返回。
numberValue
當(dāng) resultType 為 NUMBER_TYPE 時(shí),保存結(jié)果值。
resultType
使用 XPath 查詢返回何種結(jié)果。它的值是前面列出等常量之一。這個(gè)屬性的值告訴你可以使用那些其他屬性和方法。
singleNodeValue
當(dāng) resultType 為 XPathResult.ANY_UNORDERED_NODE_TYPE 或 XPathResult.FIRST_UNORDERED_NODE_TYPE 時(shí),保存結(jié)果值。
snapshotLength
當(dāng) resultType 為 UNORDERED_NODE_SNAPSHOT_TYPE 或 ORDERED_NODE_ITERATOR_TYPE 時(shí),指定返回的節(jié)點(diǎn)數(shù)。和 snapshotItem() 聯(lián)合使用這一屬性。
stringValue
當(dāng) resultType 為 STRING_TYPE 時(shí),保存結(jié)果值。

XPathResult 對(duì)象的方法

方法 描述
iterateNext() 如果 resultType 是 UNORDERED_NODE_ITERATOR_TYPE 或 ORDERED_NODE_ITERATOR_TYPE,使用這個(gè)一方法。
snapshotItem() 返回結(jié)果節(jié)點(diǎn)列表中指定下標(biāo)的節(jié)點(diǎn)。這個(gè)方法只有在 resultType 是 UNORDERED_NODE_SNAPSHOT_TYPE 或 ORDERED_NODE_SNAPSHOT_TYPE 的時(shí)候才能使用。snapshotLength 屬性和這個(gè)方法一起使用。

相關(guān)頁面

Document.evaluate()XPathExpression.evaluate()