C #, HTML 민첩성, div 태그 내의 모든 단락 선택

c# html html-agility-pack

문제

예를 들어 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");  


Related

아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.