0

在我的网页上

<meta name="description" content="Learn about 94.100.179.159" />

我怎样才能通过 Xpath 或 HtmlAgilityPack 获得确切的文本“了解 94.100.179.159”

我试过了

HtmlWeb hwObject = new HtmlWeb();
            HtmlDocument htmldocObject = hwObject.Load("http://whois.domaintools.com/94.100.179.159");
            foreach (HtmlNode link in htmldocObject.DocumentNode.SelectNodes("//meta"))
            {
                string s = link.InnerText;
                Console.WriteLine(s);

            }
            Console.ReadLine();

但这给了我不想要的,如何解决?

4

3 回答 3

3
//meta[@name = 'description']/@content

是您指定的属性的 XPATH

string s = link.Value;  

应该返回属性内容。

于 2012-08-24T15:54:14.850 回答
1

选择节点如下

SelectNodes("//*[local-name()='meta')]"))

然后,对于每个HtmlNode

Console.WriteLine(link.Attributes["content"].Value);
于 2012-08-24T15:55:13.407 回答
1

元标签没有任何内部文本,它们有属性。

试试这个:

HtmlWeb hwObject = new HtmlWeb();
HtmlDocument htmldocObject = hwObject.Load("http://whois.domaintools.com/94.100.179.159");
foreach (HtmlNode link in htmldocObject.DocumentNode.SelectNodes("//meta"))
{
    Console.WriteLine("-META-");
    var attribDump=link.Attributes.Select(a=>a.Name+" : "+a.Value);
    foreach (var x in attribDump)
    {
        Console.WriteLine(x);
    }
}
于 2012-08-24T16:03:33.027 回答