0

我想从我的 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的任何标签。这样做的正确方法是什么?

4

2 回答 2

2

试试 XPath:

var nodes = myDocument.DocumentNode.SelectNodes("//div[@style='font-size:16px;padding:4px 8px 0']")
于 2012-04-16T12:03:09.877 回答
1

而不是

if (node.OuterHtml.Contains("div"))

尝试使用 tehName属性:

if (node.Name == "div")

我对 HtmlAgilityPack 不熟悉,但是经过一些阅读之后,您可能会发现这个站点很有帮助。

于 2012-04-16T12:06:20.847 回答