2012-05-21 88 views
0

你會如何變換形式的XPath選擇:XPath到CSS選擇器?

/html[1]/body[1]/table[1]/tr[3]/td[1]/table[1]/tr[1]/td[2]/table[1]/tr[1]/td[2] 

到它的CSS選擇器相同呢?

或者我需要生成一個CSS選擇器的HtmlAgilityPack.HtmlNode

+0

你不想要一個很長的選擇器。沒有明智的理由你想這樣做。請告訴我們爲什麼你認爲你需要這個...... – sg3s

+0

(你可以用一個空格替換'/',我猜可以用'n'替換'\ d] – sg3s

+0

@ sg3s:你'需要用'''替換'(?<!^)/'而不是空格。如果你想用空格替換,你需要替換雙斜槓''''。 – BoltClock

回答

1

我不知道爲什麼你絕對需要一個CSS選擇器(如果不是所有的HTML解析器和測試套件支持CSS選擇的XPath),但究竟發生了什麼:

html > body > table:nth-child(1) > tr:nth-child(3) > td:nth-child(1) > table:nth-child(1) > tr:nth-child(1) > td:nth-child(2) > table:nth-child(1) > tr:nth-child(1) > td:nth-child(2) 

我只是不包括僞類htmlbody因爲他們暗示。

+0

如何在HtmlAgilityPack中使用CSS選擇器? – bevacqua

+0

@Nico:哦,我錯了 - HtmlAgilityPack不支持CSS選擇器。但是,爲什麼你需要一個? – BoltClock

0

這些div和表格中是否沒有屬性(id或class)?如果這樣做會讓htmlagilitypack的工作變得更容易。