2014-05-13 141 views
0

我有以下的代码,从XML得到的img标签的URL这是正常工作:获取的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标签url。

+4

使用合适的xml解析器 – epoch

+0

我在其他地方需要xml中的所有数据。但不是当我只需要主页上的图像时,我想让它们在主页按钮后面逐一播放。 – hasan83

+2

因此,如果您的代码库中已经有适当的XML解析器,那么为什么要重新发明轮子? –

回答

2

,而不是试图用一个正则表达式来算出这个(这是要做到这一点非常POOR方式......),你应该真正分析使用一些XML作为Java提供的解析库的XML。像XmlPullParser一样。