父路径和子路径都具有属性的Xpath - htmlagilitypack

时间:2013-01-27 17:40:44

标签: c# xpath html-agility-pack

我有类似的东西,

<div class="rightpanel">
.
.
<ul..>...</ul>
<ul class="side-panel categories"></ul>
.
</div>

我正在尝试使用htmlagilitypack选择具有类侧面板类别的ul。

我试过了,

HtmlDocument.DocumentNode.SelectNodes("//div[@class='right-panel']/ul[@class='side-panel categories']")

但它给了我一个空引用异常...... 请帮忙。

1 个答案:

答案 0 :(得分:2)

在HTML中,div具有类rightpanel,但在XPath中它是right-panel。请试试这个:

HtmlDocument.DocumentNode
      .SelectNodes("//div[@class='rightpanel']/ul[@class='side-panel categories']")

如果<ul>不是<div>的直接子项(即如果它的父级不是<div>本身,则需要这样:

HtmlDocument.DocumentNode
      .SelectNodes("//div[@class='rightpanel']//ul[@class='side-panel categories']")

ul之前使用双斜杠。