2012-05-21 60 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的工作变得更容易。