2014-05-13 186 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一樣。