使用 HtmlAgilityPack 获取元素
本文关键字:元素 获取 HtmlAgilityPack 使用 | 更新日期: 2023-09-27 18:31:11
我想从我的html文档中获取一个div,它没有ID或名称,但有一个唯一的样式标签。
这是我尝试过的:
foreach (HtmlNode node in myDocument.DocumentNode.DescendantNodes())
{
if (node.OuterHtml.Contains("div"))
{
HtmlAttribute att = node.Attributes["style"];
if (att != null)
{
if (att.ToString() == "font-size:16px;padding:4px 8px 0")
{
targetDiv = node;
}
}
}
}
首先,我得到了文档中的所有节点,然后我尝试使用以下方法仅过滤掉div:
if (node.OuterHtml.Contains("div"))
但是,这实际上并不是过滤掉div,而是选择任何包含div
的标签。正确的方法是什么?
试试 XPath:
var nodes = myDocument.DocumentNode.SelectNodes("//div[@style='font-size:16px;padding:4px 8px 0']")
而不是
if (node.OuterHtml.Contains("div"))
尝试使用 Name
属性:
if (node.Name == "div")
我不熟悉HtmlAgilityPack,但是在稍微阅读之后,您可能会发现这个网站很有帮助。