如何選擇div標籤中的每個段落,例如。C#,Html Agility,選擇div標籤內的每個段落
<div id="body_text">
<p>Hi</p>
<p>Help Me Please</P>
<p>Thankyou</P>
我有Html Agility在我的程序中下載和引用,我需要的是段落。可能有不定數量的段落,並且有不同的div標籤加載,但我只需要body_text內的內容。然後我認爲這可以存儲爲一個字符串,然後我想寫入一個.txt文件供以後參考。謝謝。
如何選擇div標籤中的每個段落,例如。C#,Html Agility,選擇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");
複製http://stackoverflow.com/questions/2111332/select-all-ps-from-a-nodes-children-using-htmlagilit ypack?附:我不知道如何標記重複,或者我沒有足夠的分數? – Ozzy 2011-01-19 16:27:20