思归呓语

衣带渐宽终不悔,为伊消得人憔悴
随笔 - 413, 评论 - 2971, 引用 - 245

导航

关于

标签

每月存档

最新留言

广告

 

[来源:Saveen Reddy] .NET 框架类库本身没有提供工具分析HTML,以前常用的做法是用正则表达式,或者浏览器控件,或者MSHTML组件,甚至SgmlReader。SgmlReader可以将HTML转化成XML,然后你就可以使用System.Xml命名空间下的类对文件进行查询。

CodePlex上有一个Html Agility Pack项目,是原生的.NET项目,不依赖MSHTML或者ActiveX/COM 对象。其中的HtmlDocument可以加载任何HTML文件(即使该文件是不well-formed的HTML),然后允许你使用类似于System.Xml的对象模型对文件进行查询。

譬如,

HtmlDocument doc = new HtmlDocument();
doc.Load("somehtml.html");
Console.WriteLine(doc.DocumentNode.InnerHtml);
foreach ( HtmlNode node in doc.DocumentNode.SelectNodes("//a"))
{
    string url = node.GetAttributeValue("href", "");
    Console.WriteLine(url);
}

打印 | 张贴于 2006-10-18 05:09:00 | Tag:.NET  ASP.NET/IIS

留言反馈

#re: Html Agility Pack ── 一个分析HTML的工具 编辑
我试了一下,用此种方法将html转换为xml的时候,代码中的Form节会解析错误,状态如下:

原html代码:
<form name=f action=/s><input type=text name=wd id=kw size=36 maxlength=100><input type=submit value=百度一下 id=sb><br><br></form>

转换后的xml代码:
<form name="f" action="/s" /><input size="36" name="wd" type="text" id="kw" maxlength="100" /><input value="百度一下" type="submit" id="sb" /><br /><br />&lt;/form&gt;

注意到没有,<form ..../>会多了一个“/”,而后面的</form>会被解析成&lt;/form&gt

有那位牛人帮忙解决一下啊
邮箱:topzjf@163.com
期待ing...
2008-03-13 16:30:42 | [匿名:topzjf]
#回复: Html Agility Pack ── 一个分析HTML的工具 编辑
Html Agility Pack
可否分析整个 html ,生成一颗标记树呢?
我现在 用正则做,可惜正则表达式写不出。
具体问题麻烦看一下:
http://community.csdn.net/Expert/topic/5765/5765685.xml?temp=.407818

万分感谢!
2007-09-20 15:47:00 | [匿名:afei2003]
#Html Agility Pack ── 一个分析HTML的工具 编辑
[来源: Saveen Reddy ] .NET 框架类库本身没有提供工具分析HTML,以前常用的做法是用正则表达式,或者浏览器控件,或者MSHTML组件,甚至 SgmlReader 。SgmlReader可以将HTML转化成XML,然后你就可以使用System.Xml命名空间下的类对文件进行查询。
2006-10-20 17:31:00 | [匿名:Alpha's Blog]
#re: Html Agility Pack ── 一个分析HTML的工具 编辑
正要类似的东西
2006-10-19 19:03:00 | [匿名:木野狐]
#re: Html Agility Pack ── 一个分析HTML的工具 编辑
好文,学习中..
2006-10-19 11:56:00 | [匿名:dell网站]
#re: Html Agility Pack ── 一个分析HTML的工具 编辑
以前想自己用ANTLR自己搞一个的~ 后来因为那个啥,一直拖到了今天还没弄
2006-10-18 11:33:00 | [匿名:sunmast]
#re: Html Agility Pack ── 一个分析HTML的工具 编辑
能对javascript进行解析么?
最近用到这个,找了半天,除了自己写正则没找到其他办法,哪位知道的帮忙说说,谢谢
2006-10-18 10:06:00 | [匿名:ZergTant]
#re: Html Agility Pack ── 一个分析HTML的工具 编辑
哇,这两天正在找这方面的东东

MSHTML组件,甚至SgmlReader都试过了

今天来试试Html Agility Pack好了
2006-10-18 09:12:00 | [匿名:eRay]
#re: Html Agility Pack ── 一个分析HTML的工具 编辑
这个东西的性能和并发性如何呢??
正巧,我计划用类似的这个东西。
以前在考虑用 MSHTML或者ActiveX/COM ,现在多了一种选择。
2006-10-18 09:11:00 | [匿名:ghj1976]
#re: Html Agility Pack ── 一个分析HTML的工具 编辑
可以用于一些自定义表单?
2006-10-18 08:16:00 | [匿名:neuhawk]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode.MVC引擎 0.5.2.0