HTML敏捷性包

问题描述:

我尝试使用HTML敏捷性包,从里面获取的说明文字:HTML敏捷性包

<meta name="description" content="**this is the text i want to extract and store in a string**" /> 

而且有人#2前阵子建议我用HTMLAgilityPack。但我不知道如何使用它,并且我发现的文档(包括下载中包含的文档)都有无效的链接,因此无法查看文档。

有人可以帮我解决这个问题吗?

+1

我很困惑 - 你建HtmlAgilityPack与否?这是不是构建的例子吗?或核心的DLL?如果后者,你引用了什么? – 2009-12-10 21:27:32

+0

谢谢马克。我编辑了我的问题并删除了该部分以避免更多混淆。现在想想看,这个具体的部分并不是真的与我的问题有关,而是提供了一些信息来说明为什么我问这个问题。 – 2009-12-10 21:41:05

+0

我已经能够在我的应用程序中添加一个引用到dll文件。所以我可以“使用”htmlagility包。 – 2009-12-10 21:56:41

其用法与XmlDocument非常相似;您可以在XmlDocument上使用MSDN进行广泛的概述;您可能还想了解xpath语法(MSDN)。

实施例:

HtmlDocument doc = new HtmlDocument(); 
doc.Load(path); // or .LoadHtml(html); 
HtmlNode node = doc.DocumentNode.SelectSingleNode("//meta[@name='description']"); 
if (node != null) { 
    string desc = node.GetAttributeValue("content", ""); 
    // TODO: write desc somewhere 
} 

的第二个参数GetAttributeValue是默认的情况下,返回的属性是找不到的。

+0

的值在'node.GetAttributeValue(“content”,“”);'?中使用的第二个字符串参数(空白字符串)是什么? – Alex 2010-08-19 00:05:13

+0

@AlexW - 我目前没有该库“手头”;什么是参数调用? – 2010-08-19 08:06:58

+0

不确定参数名称...稍后会按照定义路径找出。感谢您在这里回答,v有用。 – Alex 2010-08-19 11:45:29

公共字符串HtmlAgi(字符串URL,字符串键) {

var Webget = new HtmlWeb(); 
    var doc = Webget.Load(url); 
    HtmlNode ourNode = doc.DocumentNode.SelectSingleNode(string.Format("//meta[@name='{0}']", key)); 

    if (ourNode != null) 
    { 


      return ourNode.GetAttributeValue("content", ""); 

    } 
    else 
    { 
     return "not fount"; 
    } 

}