如何使用HTMLAgilityPack在标记之前获取文本

时间:2014-11-29 04:37:53

标签: c# html-agility-pack

假设我有这个HTML字符串:

<a href="hello">These are some links</a><br>1234 - <a id="1234" href="#">My Number 1</a><br>4321 - <a href="#">My Number 2</a>...

我想在<br>标记(1234 - ),<a>标记的内部文本(我的数字1)以及id属性后面提取文本{1}}标签(1234)也是如此。我正在使用HTMLAgilityPack来帮助解析我得到的HTML数据。

到目前为止,我尝试过这样做:

<a>

我正在使用调试点停止并查看每个HtmlNode中的前一个子节点,但我没有运气找到相应的数字文本。

任何人都有使用C#中HTMLAgilityPack可以帮助我的经验吗?

1 个答案:

答案 0 :(得分:0)

我相信

mNodes.InnerText

属性将为您提供不在html标记中的所有文本,特别是您想要的“1234”。文本本身不是DOM中的节点。

假设上面的代码是正确的,要获取id值,请使用:

mNumberListNodes.Descendants("a").ToList()[0].Attributes["id"].Value

我使用XPath和这个库以及正则表达式取得了相当不错的成功。