我一直在研究一個XPath解析器,語法爲here作爲參考。我驚訝地發現@
符號與KindTest
是可能的。 KindTest
可以是node()
,comment()
,text()
或processing-instruction(xyz)
(它們測試Node Type)。'@comment()'在XPath中做什麼?
我的問題是這些與@
符號組合時的結果; 。 @processing-instruction("xyz")
,@comment()
,@node
和@text
做什麼?他們是否在搜索具有處理指令或註釋的屬性?
我很好奇的語法爲什麼你寫的XPath解析器被禁止?聽起來很有趣...... :-) – LarsH
...有點:)和:(,嘿,我把ITS裝飾的XML文檔轉換成HTML,而ITS必須留下來,但HTML必須是完全合法的,我需要更改文檔中所有節點的名稱,也要去除大多數屬性,但ITS中的所有XPath仍然必須工作,這意味着它們需要進行編輯以匹配新的節點,我決定一堆正則表達式的覆蓋面不夠,除非我看完整的語法規範,否則我對XPath的瞭解還不夠充分。 –
哇!自動編輯XPath表達式爲匹配轉換後的文檔,我之前沒有聽說過有人試圖這樣做,我猜如果剩下的節點仍然具有相同的層次關係,那麼不會太難......只要XPath表達式不是太依賴於被刪除的節點。 – LarsH