积极答复者
用HtmlAgilityPack怎么找到img节点的内容

问题
-
刚刚接触了《开源项目Html Agility Pack实现快速解析Html》http://www.cnblogs.com/ttlive/archive/2011/09/10/2173210.html
觉得很好用,突然遇到了一个问题:
现在有一串:
string s = "<p> ALKJKLJF:KL:JJFa\\sdf\"aadf\"sadf.,l456465' <img alt=\"\" src=\"/upload/images/asd.bmp\" style=\"width: 704px; height: 140px\" /></p> <p>二 <img alt=\"\" src=\"/upload/images/as555445d.pdf\" style=\"width: 704px; height: 140px\" /></p> ";
我只会用 GetElementbyId 这个方法把节点的内容读出来,现在的img节点并没有id,我要怎么把
/upload/images/asd.bmp
和
/upload/images/as555445d.pdf
答案
-
你要先利用xpath SelectNodes找到節點(node),再用GetAttributeValue取得AttributeValue , 您仔細看一下上面給你的範例
以你的例子來說,你要先找到img這個節點,然後再用GetAttributeValue取得src的value
那要如何找到img節點呢 ? 就是用xpath找
軟體開發領域裡區區一個迷途工程師
MyBook: HTML5 & JavaScript程式開發實戰 MyBlog: http://www.dotblogs.com.tw/ian/
開發ASP.NET您要瞭解的基楚- 已标记为答案 星空雏菊 2013年7月30日 5:45
全部回复
-
try GetAttributeValue
軟體開發領域裡區區一個迷途工程師
MyBook: HTML5 & JavaScript程式開發實戰 MyBlog: http://www.dotblogs.com.tw/ian/
開發ASP.NET您要瞭解的基楚 -
HtmlAgilityPack.HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(s); string no = doc.DocumentNode.GetAttributeValue("src", ""); Console.WriteLine(s);
得到的却是:
<p> ALKJKLJF:KL:JJFa\sdf"aadf"sadf.,l456465' <img alt="" src="/uploadfile/ne
ws/images/asd.bmp" style="width: 704px; height: 140px" /></p> <p>二 <img alt
="" src="/uploadfile/news/images/as555445d.pdf" style="width: 704px; height: 140
px" /></p>
没有把
/upload/images/asd.bmp
过滤出来,要怎么写啊??
-
你要先利用xpath SelectNodes找到節點(node),再用GetAttributeValue取得AttributeValue , 您仔細看一下上面給你的範例
以你的例子來說,你要先找到img這個節點,然後再用GetAttributeValue取得src的value
那要如何找到img節點呢 ? 就是用xpath找
軟體開發領域裡區區一個迷途工程師
MyBook: HTML5 & JavaScript程式開發實戰 MyBlog: http://www.dotblogs.com.tw/ian/
開發ASP.NET您要瞭解的基楚- 已标记为答案 星空雏菊 2013年7月30日 5:45