HtmlAgilityPack:在字符串中获取锚标记内容的问题

时间:2014-02-20 02:36:25

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

伙计我正在尝试做的是我在下面列出了一段html代码。我需要锚标记内的内容。

HtmlDocument newHtml = new HtmlDocument();
newHtml.OptionOutputAsXml = true;

var content = "<div class="business-name-container">
            <span class="tier_info"></span>
                <h3 class="title fn org">
                    <a     href="http://www.abc.com/nationwide/mip/xyz?lid=161004592" class="url link">Foo</a>
                </h3>
            </div>";

newHtml.Load(content);
HtmlNode doc = newHtml.DocumentNode;
var findContent = doc.SelectNodes("//a[@class='url link']");
foreach (var aContent in findContent)
{
   if (acontent.InnerHtml != null)
    {
           Console.WriteLine("Content: " + acontent.InnerHtml);
    }
}

但我没有得到结果。 我希望输出为“Content:Foo”

1 个答案:

答案 0 :(得分:3)

替换

Console.WriteLine("Content: " + acontent.InnerHtml);

Console.WriteLine("Content: " + acontent.InnerText);

甚至更好的东西

var result = acontent.DocumentNode
             .Descendants("a")
             .Where(x=>x.Attributes["class"].Value =="url link").InnerText;