1
XPATH是否提供始終不返回值的查詢?XPath查詢不匹配
例如,假設這個簡單的XML:
<foo>
<bar>hello, world</bar>
</foo>
類型//noelement
的XPath查詢顯然不會返回任何元素,這是不錯,但感覺就像一個黑客攻擊。
我在想,如果規範強制要求保留值永遠不會匹配任何元素。像//NIL
這將是一個有效的XPATH查詢,同時從不匹配任何元素。
XPATH是否提供始終不返回值的查詢?XPath查詢不匹配
例如,假設這個簡單的XML:
<foo>
<bar>hello, world</bar>
</foo>
類型//noelement
的XPath查詢顯然不會返回任何元素,這是不錯,但感覺就像一個黑客攻擊。
我在想,如果規範強制要求保留值永遠不會匹配任何元素。像//NIL
這將是一個有效的XPATH查詢,同時從不匹配任何元素。
詹姆斯·克拉克(XPath 1.0中編輯)wrote:
回覆:最佳實踐就空節點集合初始化
我喜歡 「/ ..」。我們確實考慮添加一個函數來返回一個空的節點集, ,但它確實沒有看到通過「../」購買任何東西。
當然,他郵件中的第二個xpath表達式是一個錯字。
因此,如果您想要像典型使用「/ ..」一樣編碼:根節點的父節點根據定義不存在。良好的XPath引擎應該識別這個表達式並將其優化爲一個空的節點集。
確實'lxml.etree'(我正在使用的Python解析器)似乎認爲它是一個空的節點集。有趣的概念。謝謝 – lorenzog