我有以下代码从正确运行的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标记网址。
答案 0 :(得分:2)
而不是尝试使用正则表达式来解决这个问题(这是一种非常 POOR 的方式...)你应该使用java提供的一些Xml解析库来解析xml 。像XmlPullParser一样。