0

ID も名前も持たないが、独自のスタイル タグを持つ HTML ドキュメントから 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"))

Nameプロパティを使用してみてください:

if (node.Name == "div")

私は HtmlAgilityPack に精通していませんが、少し読んだ後、このサイトが役に立つかもしれません。

于 2012-04-16T12:06:20.847 に答える