HTMLAgilityPack을 사용한 XHTML 구문 분석

c# html-agility-pack

문제

HTMLAgilityPack을 사용하여 찾은 요소 안에 다음 요소 목록이 있습니다.

<option value="67"><span style="color: #cc0000;">Horde</span> Leveling / Dailies & Event Guide ($50.00)</option>

내가해야 할 일은 태그 안의 모든 텍스트를 구문 분석하는 것입니다. 나는 (겉으로보기에!) 모든 것을 시도했지만 항상 이렇게 보입니다.

큰 떼거리
수평 조정 / 일간지 및 이벤트 가이드 ($ 50.00)

때로는 다음과 같습니다.

큰 떼거리
수준 측량
/ 일간지 및 이벤트 가이드 ($ 50.00)

그런 몇 가지 다른 변형이 있습니다. 필자는 문자열의 각 문자를 바이트로 인쇄하기까지 갔으며, 줄 바꿈이나 피드를 찾지 못했습니다. 예상 한 문자와 공백 만 찾았습니다. 다음은 참조 용 HTML의 전체 소스입니다. 페이지에서 바로 복사됩니다.

<option value="67"><span style="color: #cc0000;">Horde</span> Leveling / Dailies & Event Guide ($50.00)</option>

인기 답변

기본적으로 <OPTION> 태그는 Html Agility Pack에 의해 "Empty"로 처리됩니다. 즉, 닫는 </OPTION> 필요하지 않음을 의미합니다.이 경우 XPATH로 잡기가 쉽지 않습니다. HtmlNode.ElementFlags 컬렉션을 사용하여이를 변경할 수 있습니다.

원하는 코드를 작성해야합니다.

HtmlDocument doc = new HtmlDocument();
HtmlNode.ElementsFlags.Remove("option");
doc.LoadHtml(yourHtml);
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//option"))
{
    Console.WriteLine(node.InnerText);
}



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