0

我想要一个来自 HTML 内容的字符串。我在这里展示了 HTML 字符串的一部分:

<div style="border: 1px solid #999999; margin: 0px 10px 5px 0px;">
<a href="http://www.youtube.com">
<img alt="" src="http://someImage.jpg">
</a>
</div>

我从 SAX 解析中得到这个字符串。现在我只想要图像路径:“http://someImage.jpg”作为字符串。

请任何人帮助我。如何获得该字符串?

4

2 回答 2

3

我认为您需要使用正则表达式。在这里我发布一些代码。请检查一下。

String subjectString = "<a href=\"http://www.youtube.com\"><img alt=\"\" src=\"http://someImage.jpg\"></a>";

从图像标签获取 Href 链接的代码

Pattern titleFinder = Pattern.compile("<a[^>]*?href\\s*=\\s*((\'|\")(.*?)(\'|\"))[^>]*?(?!/)>", Pattern.DOTALL | Pattern.CASE_INSENSITIVE);
Matcher regexMatcher = titleFinder.matcher(subjectString);
while (regexMatcher.find()) {
    Log.i("==== Link0",regexMatcher.group(1));
} 

从图像标签获取图像路径的代码

Pattern titleFinder = Pattern.compile("<img[^>]+src\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>" , Pattern.DOTALL | Pattern.CASE_INSENSITIVE);
Matcher regexMatcher = titleFinder.matcher(subjectString);
while (regexMatcher.find()) 
{
    Log.i("==== Image Src",regexMatcher.group(1));
}
于 2012-05-01T09:20:56.030 回答
0

试试jsoup解析器。

Document doc=Jsoup.connect("http://www.yahoo.com").get();
Elements elements=doc.select("img");

for(Element e:elements)
 {
  System.out.println(e.attr("src"));
 }

或者只是使用 Jsoup.parse(html_text) 来获取 Document 的实例。

 Document doc=Jsoup.parse(html_string);
 ...
于 2012-05-01T09:28:58.950 回答