繁体   English   中英

C#,Html Agility,选择div标签中的每个段落

[英]C#, Html Agility, Selecting every paragraph within a div tag

例如,如何选择div标签中的每个段落。

<div id="body_text">
<p>Hi</p>
<p>Help Me Please</P>
<p>Thankyou</P>

我已经在我的程序中下载并引用了Html Agility,我需要的只是段落。 可能存在可变数量的段落,并且存在大量不同的div标签,但我只需要body_text中的内容。 然后我假设这可以存储为一个字符串,然后我想写入.txt文件供以后参考。 谢谢。

您的案例的有效XPATH是//div[@id='body_text']/p

foreach(HtmlNode node in yourHTMLAgilityPackDocument.DocumentNode.SelectNodes("//div[@id='body_text']/p")
{
  string text = node.InnerText; //that's the text you are looking for
}

这是一个解决方案,将段落作为HtmlNodes的枚举:

HtmlDocument doc = new HtmlDocument();
doc.Load("your.html");
var div = doc.GetElementbyId("body_text");
var paragraphs = div.ChildNodes.Where(item => item.Name == "p"); 

没有明确的Linq:

var paragraphs = doc.GetElementbyId("body_text").Elements("p");  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM