在我的网页上
<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();
但这不是我想要的,如何解决这个问题?
答案 0 :(得分:3)
//meta[@name = 'description']/@content
是您指定的属性的XPATH
string s = link.Value;
应该返回属性内容。
答案 1 :(得分:1)
按如下方式选择节点
SelectNodes("//*[local-name()='meta')]"))
然后,对于每个HtmlNode
,
Console.WriteLine(link.Attributes["content"].Value);
答案 2 :(得分: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);
}
}