XPath를 통해 HtmlAgilityPack을 사용하여 HTML 문서에서 텍스트 가져 오기

c# html-agility-pack xpath

문제

파일에 다음 HTML이 있는데,이 파일을 HtmlAgilityPack 사용하여 HTMLDocument 로드하고 있습니다.

문제는 Hello World! 를 얻고 싶다는 것입니다 Hello World! 내부 텍스트가 아닌 XPath 사용합니다.

이것을 어떻게 성취합니까?

<ul>
    <li>
        Hello world!
        <ul>
            <li>
                Welcome to planet!
            </li>
        </ul>
    </li>
</ul>

수락 된 답변

XPath :

//ul/li[1]/text()

실제 텍스트 "Hello World!"를 선택해야합니다.

그런 다음이 노드의 값을 선택할 수 있습니다.

사용:

string text = doc.DocumentElement.SelectSingleNode("//ul/li[1]/text()").Value;

본질적으로 이것이 말하는 것은 ul 노드로 이동하여 첫 번째 li를 선택한 다음 text () 노드를 선택하는 것입니다.


인기 답변

htmlDocument.DocumentNode.SelectNodes("//ul/li").First().FirstChild.InnerText;

Hello world를 반환합니다!



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