2014-10-30 60 views
0

我一直在試圖在StackOverflow上遵循一些解決方案,但我需要一些幫助。
這是源HTML:
HTML敏捷包 - 獲取div沒有類或ID(C#)

<div class="myclass"> 
<div style="font-size:2em;"> STRING_N1 </div> 
<div> STRING_N2 </div> 
</div> 

這是我當前的代碼:

 var doc = new HtmlAgilityPack.HtmlDocument(); 
     doc.LoadHtml(htmlcode); 
     var res = doc.DocumentNode.SelectNodes("//div[@class='myclass']"); 
     foreach (var item in res) 
     { 
      var firstDiv = item.SelectSingleNode("div"); 
      var content1 = firstDiv.ChildNodes[0].InnerText.Trim(); 
      richTextBox1.AppendText(content1.ToString()); 
     } 

到目前爲止好,我可以提取 「STRING_N1」 沒有問題。但是,我無法弄清楚如何提取STRING_N2而沒有類或ID。
謝謝。

回答

1

您可以使用LINQ讓後代div S:

var divs = doc.DocumentNode.SelectNodes("//div[@class='myclass']") 
       .SelectMany(x => x.Descendants("div")); 

var contents = divs.Select(x => x.InnerText.Trim()); 

richTextBox1.AppendText(string.Join(Environment.NewLine, contents); 
+0

太好了!謝謝。 – 2014-10-30 11:25:12