使用HTML Agility pack选择html dom元素内部文本

时间:2014-08-22 18:01:19

标签: html .net html-agility-pack

Html源包含带有国家/地区名称的无序列表。它有以下html结构

<div class="hc_m_content">
    <div class="hc_col">
       <ul>
         <li>
            <a href="/Place/Australia.htm">Australia</a>
         </li>
         <li>
             <a href="/Place/Bahrain.htm">Bahrain</a>
         </li>
         ...
       </ul>

使用HTML Agility包我想选择国家/地区名称。

string c = "????";
var nodeList = htmlDoc.DocumentNode.SelectNodes(String.Format(c, i));

我应该将具有上述html结构的c变量放入什么内容?

1 个答案:

答案 0 :(得分:2)

我不明白string c = "????";的意思,但它可以是这样的,

var nodeList = htmlDoc.DocumentNode.SelectNodes("//div[@class='hc_m_content']//a")
                .Cast<HtmlAgilityPack.HtmlNode>()
                .Select(a => new {
                    Link = a.Attributes["href"].Value,
                    Country = a.InnerText
                })
                .ToList();