在單個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>

C#:

<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

一般承認的答案

要獲取包含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合法嗎? 是的,了解原因