如何使用c#从给定的HTML字符串中获取IMG标记的源代码

时间:2013-05-21 07:35:06

标签: c# asp.net regex

我从DB获取此HTML字符串: -

<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex</p><img class="classname" alt="alttext" src="http://www.domain.com/uploads/myimage.jpg" width="612" height="612" /><p>Going by the Itinerary, we will be at the official launch on the 22nd May.</p><img class="classname" alt="alttext" src="http://www.domain.com/uploads/myimage1.jpg" width="612" height="612" />

正如您所看到的,在字符串中有两个图像标记。我想获得第一个图像标记的来源,例如: -

http://www.domain.com/uploads/myimage.jpg

任何人都可以建议我如何从html字符串中获取此文本。

提前致谢

3 个答案:

答案 0 :(得分:12)

您可以使用HtmlAgilityPack之类的html解析器来实现此目标

string html = .......
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var link = doc.DocumentNode.SelectSingleNode("//img").Attributes["src"].Value;

答案 1 :(得分:3)

我会推荐HTML Agility pack:http://htmlagilitypack.codeplex.com/wikipage?title=Examples有一个例子甚至展示了如何做到这一点。

答案 2 :(得分:1)

使用string.Substring查找单词src

记住其发生的位置。

然后,您还可以使用它来检查“”嵌入字符串结束时。