2012-04-16 12 views
0

IDまたは名前がなく、ユニークなスタイルタグを持つHTMLドキュメントからdivを取得したいとします。ここで HtmlAgilityPackを使用して要素を取得する

は、私が試したものです:

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

しかし、このISN」:

 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をしようとしました実際にdivを除外しますが、その中に divというタグを選択してください。これを行う適切な方法は何ですか?

答えて

2

するTryのXPath:

var nodes = myDocument.DocumentNode.SelectNodes("//div[@style='font-size:16px;padding:4px 8px 0']") 
+0

私は 'myDocument.DocumentNode.Descendants(" div ")'を使用しましたが、これも機能します。 – TheGateKeeper

1

よりもむしろ

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

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

if (node.Name == "div") 

は、しかし私は、周りに少し読んだ後、HtmlAgilityPackに精通していませんよthis siteが役に立ちます。

+0

はい、私は 'Name'は実際にはタグではなくname属性を意味していました。私は最後に 'myDocument.DocumentNode.Descendants(" div ")'を使っていました。 – TheGateKeeper

関連する問題