C# 正则表达式 获取div里的内容 div内可能嵌套任何html标签

我请问一下,C# 正则表达式 获取div里的内容 div内可能嵌套任何html标签?

例如这样
<div id="test">
<div>哈哈</div>
<div><span>123123213</span></div>
<p>test1</p>
<a href="
http://www.baidu.com
">百度</a>
...............
</div>

我要获取的就是这部分
<div>哈哈</div>
<div><span>123123213</span></div>
<p>test1</p>
<a href="
http://www.baidu.com
">百度</a>
...............

...............代表任何html标签
最新回答
逆风の蒲公英

2024-05-05 09:02:06

只是用正则的话,又没有任何特殊的特征,很难做的。换一种思路:这个字符串可以看成是xml,那你可以用xmldocumen 加载该字符串,然后通过解析xml来获取里面的字符串。(ps:这个思路够屌吧)
追问
其实主要是做一个数据采集的 工作,所以获取到的字符串一个页面的所有源码,而我要从中截取这一段出来,关键,就是不知道怎么截取
追答
哦,你要分页网页特点,比如你要获取网页某一块的数据,那这块源代码前面可能会有id,后面也有唯一id,这样就能截取了
追问
其实你的思路是没错的,我也这样想过的,关键是有的网页格式不标准的话,转换成XML会报错,所以就没法继续下去,如果是标准的html格式的,话用XML来获取是没有问题的!
追答
我也做过类似的功能,一般就是分页网页结构,找到一个比较特殊的地方,然后在用正则匹配
追问
嗯,我就是想匹配id=“XXX”的div,获取到他里面的东西,但是这个正则写不来
追答
只有开头有id=xx的特征,没有结束的特征,用正则蛮困难的。
追问
是呀,所以才来求助大家的啦!SgmlReader貌似可以转换为标准的XML格式的html,但是我引用后生成成功了,打开页面抱错,就是:未能加载文件或程序集“SgmlReader”,奇怪了,用过的告诉下用法,看了一下,貌似这的dll是1.8.4.13761,估计是我没有安装.net2.0之前的版本的原因,谁有2.0以后的版本的发一下,谢谢啦!
追答
http://www.cnblogs.com/dannyqiu/articles/1902955.html
,你既然生成成功了,怎么会显示未加载程序集呢?
媤惗ら

2024-05-05 00:33:14

js不就好了,通过document.getElementById("test").innerHTML。
深情是罪

2024-05-05 04:16:33

如果<a href="
http://www.baidu.com
">百度</a>是个固定不变的特征码,那就好办了