단일 HtmlNodeCollection에서 모든 테이블 tr 데이터 가져 오기 C #

c# html-agility-pack web-scraping

문제

HTML agility Pack을 사용하여 모든 테이블에서 모든 tr 을 검색해야합니다.

HTML :

<section class="content-section" id="more">
    <div class="row">
        <div class="col-xs-6"></div>
        <div class="col-xs-6">
            <h2>Specs</h2>
            <div>
                <div>
                    <table>
                        <thead>
                            <tr><th colspan="2"> test</th></tr>
                        </thead>
                        <tbody>                         
                            <tr><td>2</td><td>b</td></tr>
                            <tr><td>1</td><td>a</td></tr>
                        </tbody>
                    </table>                                    
                    <table>
                        <tbody>
                            <tr><td>3</td><td>c</td></tr>
                            <tr><td>4</td><td>d</td></tr>               
                        </tbody>
                    </table>
                </div>              
            </div>
        </div>      
    </div>  
</section>

기음#:

<section class="content-section" id="more">
    <div class="row">
        <div class="col-xs-6"></div>
        <div class="col-xs-6">
            <h2>Specs</h2>
            <div>
                <div>
                    <table>
                        <thead>
                            <tr><th colspan="2"> test</th></tr>
                        </thead>
                        <tbody>                         
                            <tr><td>2</td><td>b</td></tr>
                            <tr><td>1</td><td>a</td></tr>
                        </tbody>
                    </table>                                    
                    <table>
                        <tbody>
                            <tr><td>3</td><td>c</td></tr>
                            <tr><td>4</td><td>d</td></tr>               
                        </tbody>
                    </table>
                </div>              
            </div>
        </div>      
    </div>  
</section>

나는 오직 첫 번째 테이블 tr 을 얻을 수 있지만 HtmlNodeCollection 에서 두 테이블 tr 을 모두 가져올 수는 HtmlNodeCollection .

수락 된 답변

thead 있는 노드를 포함하여 모든 tr 노드를 가져 오려면 XPath 를 다음으로 업데이트하십시오.

"//*[@id='more']/div/div[2]/div/div[1]/table//tr"

이 단순화 된 XPath 도 작동해야합니다.

"//*[@id='more']/div/div[2]/div/div[1]/table//tr"

tbodytr 만 원한다면 다음을 사용하십시오 :

"//*[@id='more']/div/div[2]/div/div[1]/table//tr"

또는 thead 에서 tr 을 제외하고 다음을 사용하십시오.

"//*[@id='more']/div/div[2]/div/div[1]/table//tr"



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