我是新來使用XPath,所以我一直在愚弄XPath Evaluator,我試圖找出如何返回函數的值。如何使用XPath返回函數的結果?
如果我想返回一個頁面,我可以使用下面的XPath的href
S中所有環節的:如果我想與href
小號超過20個字符返回的所有環節
//a/@href
我可以使用此:
//a[string-length(@href) > 20]
我無法弄清楚什麼是我該如何得到所有href
S的只是長度? 我天真的假設是,這應該這樣做:
//a/string-length(@href)
但它失敗(如做所有我能想到的變化)。
這怎麼辦?
在比特挖經過進一步我看到XPath計算器我使用硬編碼XPathResult.ORDERED_NODE_SNAPSHOT_TYPE
作爲結果類型,當我改成ANY_TYPE
(0)以下工作用於獲取一條鏈路的長度(這是我實際需要的)
string-length((//a)[1]/@href)
我嘗試了您的第一個建議(作爲*我可以想到的所有變體的一部分*),並且它不起作用。 – Motti 2009-09-03 12:57:20
根據其他答案,我認爲它不會。抱歉。我不確定把查詢之外的函數放在你的許多變體之中,所以我認爲它可能是那些「哦,哦」類的東西之一。出於好奇,你最終使用XPath哪種語言? PHP應該很容易使用simplexml擴展來實現一個循環函數。 – Anthony 2009-09-03 13:19:12