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 に答える