我想从我的html文档中获取一个没有id或名称的div,但是有一个独特的样式标记。
以下是我的尝试:
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
的任何标记。这样做的正确方法是什么?
答案 0 :(得分:2)
尝试XPath:
var nodes = myDocument.DocumentNode.SelectNodes("//div[@style='font-size:16px;padding:4px 8px 0']")
答案 1 :(得分:1)
而不是
if (node.OuterHtml.Contains("div"))
尝试使用Name
属性:
if (node.Name == "div")
我不熟悉HtmlAgilityPack,但经过一番阅读后,您可能会发现this site有帮助。