Html 민첩성 팩 - HTML 문서에서 HTML 조각 가져 오기

c# html html-agility-pack

문제

html 민첩성 팩 사용 어떻게하면 전체 HTML 문서에서 html "fragment"를 추출 할 수 있습니까? 나의 목적을 위해, HTML "단편"은 <body> 태그 안의 모든 내용으로 정의됩니다.

예 :

샘플 입력 :

<html>
   <head>
     <title>blah</title>
   </head>
   <body>
    <p>My content</p>
   </body>
</html>

원하는 출력 :

<p>My content</p>

이상적으로, 그것은 <html> 또는 <body> 요소가 포함되지 않은 경우 내용을 변경하지 않고 반환하고 싶습니다 (예 : 전체 HTML 문서가 아닌 경우 먼저 조각을 전달했다고 가정)

누구든지 올바른 방향으로 나를 가리킬 수 있습니까?

수락 된 답변

나는 네가 그것을 조각으로 할 필요가 있다고 생각해.

당신은 body 나 html 문서의 select 노드를 다음과 같이 할 수있다.

doc.DocumentNode.SelectSingleNode("//body") // returns body with entire contents :)

기준에 대한 널 값을 점검 할 수 있으며, 제공된 경우, 그대로 문자열을 가져올 수 있습니다.

희망이 도움이 :)


인기 답변

다음과 같이 작동합니다.

public string GetFragment(HtmlDocument document)
{
   return doc.DocumentNode.SelectSingleNode("//body") == null ? doc.DocumentNode.InnerHtml : doc.DocumentNode.SelectSingleNode("//body").InnerHtml;
}


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