Htmlagilitypack节点(选择另一个节点内的节点)

时间:2014-08-23 14:33:33

标签: c# xaml parsing html-agility-pack

我有问题。我想获取标签节点的内容,但它并没有给我任何回报,因为据我所知,它只有在有类或id属性时才能返回:

<div class="section">
    <ul>
        <!-- vainqueur -->
        <li><label>Vainqueur</label>
            <img src="/img/maillots/jaune.gif" /> Stephen ROCHE <img src="/img/drapeau/IRL.jpg"> (CARRERA JEANS)
        </li>
        <!-- nb etapes -->
        <li><label>Nombre d'&eacute;tapes</label>25</li>
        <!-- 1 -->
        <li><label>Distance</label>4231 km</li>
        <!-- 1 -->
        <li><label>Vitesse moyenne</label>36.645 km/h</li>
        <!-- 1 -->
        <li><label>Prime au vainqueur</label>300 000&nbsp;F</li>
        <!-- 1 -->
        <li><label>Total des primes</label>6 284 700&nbsp;F</li>
    </ul><!-- fin ul resume -->
</div><!-- fin div section -->

1 个答案:

答案 0 :(得分:0)

您可以选择所有标签并循环播放。试试这段代码

string htmlText = @"<div class=""section"">
                    <ul>
                        <!-- vainqueur -->
                        <li><label>Vainqueur</label>
                            <img src=""/img/maillots/jaune.gif"" /> Stephen ROCHE <img src=""/img/drapeau/IRL.jpg""> (CARRERA JEANS)
                        </li>
                        <!-- nb etapes -->
                        <li><label>Nombre d'&eacute;tapes</label>25</li>
                        <!-- 1 -->
                        <li><label>Distance</label>4231 km</li>
                        <!-- 1 -->
                        <li><label>Vitesse moyenne</label>36.645 km/h</li>
                        <!-- 1 -->
                        <li><label>Prime au vainqueur</label>300 000&nbsp;F</li>
                        <!-- 1 -->
                        <li><label>Total des primes</label>6 284 700&nbsp;F</li>
                    </ul><!-- fin ul resume -->
                </div><!-- fin div section -->";
        var doc = new HtmlDocument();
        doc.Load(new StringReader(htmlText));

       foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//label"))
       {
           Console.WriteLine(node.InnerHtml);
       }