解决方案 »
- DataList中DropDownList如何触发它的SelectedIndexChanged事件
- void 缺少using程序集引用?
- 问个CSDN账号的问题,请解答
- 如何取得treeview的节点的checkbox的value值
- 如何保持流水号唯一
- 关于网站发布的问题
- 重新开贴。关于在生成安装文件时自动配置web.config中连接数据库字符串的问题
- .net自定义类中Session 存值说未将对象引用设置到对象的实例
- 写了个数据库二级联动(asp),朋友们帮忙检查下.
- 菜菜的问题,可是我总也搞不懂??请各位程序员大哥帮忙~~~
- 紧急求助ExecuteNonQuery: CommandText 属性尚未初始化
- 网站被拉入黑名单问题
(?is)(?<=<div class="vv22Txt1">).*?(?=</div>)
第一个取vvAll1——>vv11
第二个取vvAll2——>vv21——>vv21Table和vvAll2——>vv22——>vv22Txt1,里面的再根据第二个正则来处理!
第三个取vv22Txt4四楼的方法我写过!就是要写三个,但是我把这三个拼成一个就不行!!!
而vv22Txt2,与它临近的前一个div是vv22Txt1,是它的兄弟节点这种嵌套顺序太乱了
比如(?s)<div class="vv11">(?<one>.*?)<div.*?<span class="vv21B">(?<two>.*?)</span>.*?<span class="vv21D">(?<three>.*?)</span>.*?class="vv22Txt4">(?<four>.*?)</div>取group["one"]...的值
我把楼主源文本中要获取的文本后面加上“值X”以示区别: HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.Load(Server.MapPath("~/test.txt"));
HtmlNodeCollection nodes = htmlDoc.DocumentNode.SelectNodes(@"//*[@class='vv11' or @class='vv21B' or @class='vv21D' or @class='vv22Txt1' or @class='vv22Txt4']");
foreach (HtmlNode node in nodes)
{
Response.Write(node.ChildNodes[0].InnerText + "<br/>");
}
结果:
**********值一
*******值二
******* 值三
*********************************值四
************************************值五
HtmlAgilityPack是第三方免费类库,下载地址:http://htmlagilitypack.codeplex.com/
项目中bin文件夹下加入dll和xml就行了,using HtmlAgilityPack;
nb
的意思是选取文档中所有class值为vv11、vv21B、vv21D、vv22Txt1、vv22Txt4的节点。