html节点分析,解析html程序(C#版)——遍历各个节点(mshtml)

本文介绍了如何使用C#结合mshtml库来解析HTML文档,通过`HTMLDocumentClass`和`IHTMLDocument2`接口,实现HTML内容的读取和节点遍历。`getHtmlDisplayContent`函数获取可显示文本,而`traverseNodes`递归函数则遍历所有节点。虽然未考虑效率,但展示了基本的HTML文档操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*

在项目里引用了mshtml.dll,并且引用命名空间:using mshtml;

首先,参数html就是html文本内容(里面有markup标记和显示文本等等)

其次,getHtmlDisplayContent这个函数就是获取html里浏览器上可看到的内容,即从源码中取出显示文本。

最后,traverseNodes是个人写的一个遍历各个节点的一个小小递归程序,没考虑效率什么的,只是想知道怎么使用IHtmlDocument2和IHtmlDocument3接口

Note:当html文档不规范时,比如在

*/

private static string getHtmlDisplayContent(string html)

{

string cont = "";

mshtml.HTMLDocumentClass oc = new mshtml.HTMLDocumentClass();

mshtml.IHTMLDocument2 doc2 = oc;

doc2.write(html);

mshtml.IHTMLDocument3 HTMLDocument = (mshtml.IHTMLDocument3)doc2;

traverseNodes(HTMLDocument.documentElement, ref cont);

//mshtml.IHTMLTitleElement title = (mshtml.IHTMLTitleElement)doc2.title;

/* cont += doc2.title.ToString();

mshtml.IHTMLBodyElemen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值