2012-09-24 86 views
5

我在網上看到一篇關於how to map CSS selectors to XPATH queries的文章,所以我想弄清楚是否有任何可以執行映射/轉換的.NET庫。如果您有任何參考資料或有關如何執行映射的任何建議(如果庫不可用),請讓我知道。將CSS選擇器轉換爲XPATH

+0

你可以試試這個:https://bitbucket.org/MostThingsWeb/css2xpath/wiki/Home – MUG4N

+1

@ MUG4N,這是值得的答案。 – LarsH

+0

我寫了一個Pascal庫來將CSS 3選擇器轉換爲XPath 2.但它直接創建了XPath表達式的AST,從不保留序列化表達式的表達式,所以我認爲它不會幫助您在這裏...(內部一個XPath引擎,所以你可以像'/html/css("div.whatever a「)/ @ href'那樣混合它們。恕我直言,他們應該將這添加到XPath標準中,不需要再轉換任何東西。) – BeniBela

回答

7

你可以嘗試Css2Xpath庫在這裏找到:https://bitbucket.org/MostThingsWeb/css2xpath/wiki/Home

我從來沒有使用過它,但也許你可以與我們分享你的經驗。

這裏使用的小樣本:

String css = "div#test .note span:first-child"; 
String xpath = css2xpath.Transform(css); 
+1

在那裏有一些錯誤的字符串文字,並且第一個孩子在某些情況下不起作用,比如這個:'[width =「150」]:last-child'。否則它工作得很好,謝謝! – Kiril

+0

大家好 - 我是css2xpath的作者(好吧,反正這個端口)。我剛剛發佈了一個新項目,即css2xpath Reloaded,以取代這個項目:https://bitbucket.org/MostThingsWeb/css2xpath-reloaded。你不應該有字符串文字,也不應該與僞類有問題。它還沒有完全測試,但你可能想要檢查它。 –