如何选择div标签中的每个段落。
<div id="body_text">
<p>Hi</p>
<p>Help Me Please</P>
<p>Thankyou</P>
我已经在我的程序中下载并引用了Html Agility,我需要的只是段落。可能存在可变数量的段落,并且存在大量不同的div标签,但我只需要body_text中的内容。然后我假设这可以存储为一个字符串,然后我想写入.txt文件供以后参考。三江源。
答案 0 :(得分:3)
您案例的有效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
}
答案 1 :(得分:1)
这是一个解决方案,将段落作为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");