3
這是一個lxml doc例如:如何將lxml xpath函數導入默認名稱空間?
>>> regexpNS = "http://exslt.org/regular-expressions"
>>> find = etree.XPath("//*[re:test(., '^abc$', 'i')]",
... namespaces={'re':regexpNS})
>>> root = etree.XML("<root><a>aB</a><b>aBc</b></root>")
>>> print(find(root)[0].text)
aBc
我想導入re:test()
功能默認命名空間,這樣我就可以把它叫做無前綴re:
。我該怎麼做?謝謝!
我對你提出的第二個解決方案感到非常興奮,但它打破了XPath的行爲。也就是說,如果我用一些正則表達式構造一個沒有傳遞名稱空間的XPath(因爲它的設置就像你提到的那樣),它在第二次評估時不起作用。它不知何故變得困惑,失敗與錯誤'XPath功能'{}匹配'找不到'。任何想法爲什麼? –
我不知道,不能重現這一點。你確定你在任何地方都使用're:match(...)',而不是在沒有前綴的地方匹配(...)'? – mata
我創建了一個MWE [這裏](https://gist.github.com/cipri-tom/f85b246fc8a250ea4debf9178a2732b9)... **編輯**:MWE本身不工作,但它是一個輸出jupyter筆記本。它似乎只在筆記本上失敗,當2'搜索'在不同的單元格 –