从xml获取img标签

时间:2014-05-13 09:16:38

标签: java android xml pattern-matching

我有以下代码从正确运行的XML中获取img标记网址:

Pattern p = Pattern.compile("<img[^>]+src\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>");
Matcher m = p.matcher(xmlString);
while (m.find())
    imagesURLs.add(m.group(1));

我的xml如下所示:

<item>
    <desc>
       txt txt txt txt <img src="htttp://mysite.com/images/img.png"> txt txt
       <img src="htttp://mysite.com/images/img.png"> ...
    </desc>
</item>
<item>
    <desc>
       txt txt txt txt <img src="htttp://mysite.com/images/img.png"> txt txt
       <img src="htttp://mysite.com/images/img.png"><img src="htttp://mysite.com/images/img.png">
    </desc>
</item>

我想修改代码,只从每个desc标签中获取第一个img标记网址。

1 个答案:

答案 0 :(得分:2)

而不是尝试使用正则表达式来解决这个问题(这是一种非常 POOR 的方式...)你应该使用java提供的一些Xml解析库来解析xml 。像XmlPullParser一样。