2012-09-09 58 views
1

例如,我有这一堆img标签,我想获得所有的src值。 我该怎么做?我试过Elements img = doc.select("img"),然后String imgSrc = img.attr("src")。结果是,我只得到第一个src。我怎样才能获得所有的图像src?获取所有图像的src值不只是第一个?

<img src="blah blah.jpg"></img> 
<img src=".........jpg"></img> 
........... 
<img src="end.jpg></img> 
+0

也许[重复提问](http://stackoverflow.com/questions/7465734/how-to-parse-for-image-src-using-jsoupmy)。看它! – ThierryB

+0

这不是,那里的解决方案只有我试过的第一个src属性,我想得到所有选中的src。 – homi3kh

+0

好的,所以你应该看看下面,我已经发布了一个答案来获取所有图像。 – ThierryB

回答

0

也许这样的事情:

Elements images = doc.select("img[src]"); 

print("\nImages: (%d)", images.size()); 
for (Element src : images) { 
     print(
      " * %s: <%s> %sx%s (%s)", 
      src.tagName(), src.attr("abs:src"), src.attr("width"), src.attr("height"), 
      trim(src.attr("alt"), 20) 
     ); 
} 

JSoup Cookbook可以帮助你的!

装饰部分:

private static String trim(String s, int width) { 
    if (s.length() > width) 
     return s.substring(0, width-1) + "."; 
    else 
     return s; 
} 
+0

什么是trim()在这里? – homi3kh

+0

我已经添加trim()部分,因为多天以来。 – ThierryB

0

Elements类是一个集合。这意味着您应该可以简单地遍历它,并获取它包含的每个<img>元素的src值。

试试这个:

for(Element imgElement : img) { 
    String imgSrc = imgElement("src"); 
} 
+0

我被困在如何做到这一点... – homi3kh

+0

我试过了,并没有工作嗯! – homi3kh

+0

'String imgSrc = imgElement(“src”);'必须是'String imgSrc = imgElement.attr(“src”);',那就是全部。 – ollo

相关问题