HtmlAgilityPack을 사용하여 HTML 문서가 아닌 HTML 변수를 파싱 하시겠습니까?

c# html-agility-pack

문제

HTML 데이터를 문자열로 포함하는 프로그램의 변수가 있습니다. 변수 htmlText 에는 다음과 같은 내용이 포함되어 있습니다.

<ul><li><u>Mode selector </u></li><li><u>LAND ALT</u></li>

이 HTML을 통해 HtmlAgilityPack을 사용하여 반복하고 싶습니다. 그러나 모든 예제에서는 HTML을 문서로로드하려고 시도합니다. 변수 htmlText 에서 구문 분석 할 HTML이 이미 있습니다. 누군가가 문서로로드하지 않고 이것을 구문 분석하는 방법을 보여줄 수 있습니까?

지금보고있는 예제는 다음과 같습니다.

<ul><li><u>Mode selector </u></li><li><u>LAND ALT</u></li>

htmlText 를 사용하여 내부의 모든 underline 요소를 찾으려면 이것을 변환하고 싶습니다. 변수에 저장된 구문 분석 할 HTML이 이미 있으므로이 문서를로드하지 않으려합니다.

수락 된 답변

HtmlDocument 클래스의 LoadHtml 메서드를 사용할 수 있습니다.


인기 답변

문서는 단순히 이름 일 뿐이며 실제로 문서가 아닙니다 (또는있을 필요는 없습니다).

var doc = New HtmlAgilityPack.HtmlDocument;
string myHTML = "<ul><li><u>Mode selector </u></li><li><u>LAND ALT</u></li>";
doc.LoadHtml(myHTML);
foreach (var node in doc.DocumentNode.SelectNodes("//a[@href]")) {
    Console.WriteLine(node.InnerHtml);

}

나는이 똑같은 것을 변수의 html 청크를 파싱하는데 사용했다.




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