HtmlAgilityPack을 사용하여 마지막 페이지 가져 오기 <tr> HTML 표의

html html-agility-pack html-table

문제

html 테이블 구조가 있습니다. 마지막 <tr> 태그의 첫 번째 <td> 값의 값을 <tr> 합니다. 여기 내 테이블 구조가 있습니다. 아래 getFinalNodeValue 함수에서 요구하는 값은 " 3 "입니다.

 <table id="test">
            <tr>
                <td>ID</td>
                <td>Name</td>
                <td>Age</td>
            </tr>
            <tr>
                <td>1</td>
                <td>Yasoda</td>
                <td>21</td>
            </tr>

            <tr>
                <td>2</td>
                <td>Samantha</td>
                <td>25</td>
            </tr>

            <tr>
                <td>3</td>
                <td>Sajee</td>
                <td>26</td>
            </tr>

        </table>


다음은 HtmlAgilityPack을 사용하여 작성한 코드입니다.

 <table id="test">
            <tr>
                <td>ID</td>
                <td>Name</td>
                <td>Age</td>
            </tr>
            <tr>
                <td>1</td>
                <td>Yasoda</td>
                <td>21</td>
            </tr>

            <tr>
                <td>2</td>
                <td>Samantha</td>
                <td>25</td>
            </tr>

            <tr>
                <td>3</td>
                <td>Sajee</td>
                <td>26</td>
            </tr>

        </table>

이 메서드는 값을 반환하지 않습니다. 어떤 도움을 주셔서 감사합니다.

수락 된 답변

이 작업을 수행해야합니다.

    HtmlDocument doc = new HtmlDocument();
    doc.Load(MyHtmlFile);

    HtmlNode node = doc.DocumentNode.SelectSingleNode("//table[@id='test']/tr[last()]/td");
    Console.WriteLine(node.InnerText);

XPATH last () 함수의 사용법에 유의하십시오.


인기 답변

table 변수 - "//table[@id='test']//tr[1]" 을 채우는 데 사용하는 XPath는 table 아닌 두 번째 TR 요소를 선택합니다.

이것은 "//table[@id='test']" 일 가능성이 가장 높습니다.

이 시점에서 자손 TR 노드를 trNodes 변수로 가져 오려면 다음을 사용해야합니다.

IEnumerable<HtmlNode> trNodes = table.SelectNodes("tr");



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