我有这种情况:不同的文件有下面的HTML。我只需要检索"targetWord“段落之后的列表(当然它会改变我需要解析的页面中的位置)。如何使用HTML Agility Pack?
<p>Word1</p>
<ul>
<li>listobject1</li>
<li>listobject2</li>
<li>listobject3</li>
</ul>
<p>targetWord</p>
<ul>
<li>listobject4</li>
<li>listobject5</li>
<li>listobject6</li>
</ul>
<p>Word2</p>
<ul>
<li>listobject7</li>
<li>listobject8</li>
<li>listobject9</li>
</ul>
我只需要用我的代码获取targetWord之后的列表节点:
foreach (var node in retreivedNodes)
{
s[i] = node.InnerText;
i++;
console.writeline (s[i]);
}
OUTPUT:
listobject4
listobject5
listobject6
发布于 2019-05-17 10:10:51
您需要手工创建一个符合您的要求的表达式
假设我已经用您的代码片段加载了一个作为var htmlSnippet的HAP.HtmlDocument,那么
htmlSnippet.DocumentNode.SelectNodes('//p[text()="targetWord"]/following-sibling::ul[1]//li')
将返回目标单词p标记后面的第一个ul节点的li子节点的节点集。
https://stackoverflow.com/questions/56182368
复制相似问题