2014-10-30 50 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