Java 获取所有图像src值而不仅仅是第一个?
例如,我有一堆img标记,我想得到所有src值。 我该怎么做?我尝试了元素img=doc.selectimg,然后字符串imgSrc=img.attrsrc。结果是,我只得到第一个src。我怎样才能得到所有的图像srcJava 获取所有图像src值而不仅仅是第一个?,java,android,image,jsoup,Java,Android,Image,Jsoup,例如,我有一堆img标记,我想得到所有src值。 我该怎么做?我尝试了元素img=doc.selectimg,然后字符串imgSrc=img.attrsrc。结果是,我只得到第一个src。我怎样才能得到所有的图像src <img src="blah blah.jpg"></img> <img src=".........jpg"></img> ........... <img src="end.jpg></img> 也许是
<img src="blah blah.jpg"></img>
<img src=".........jpg"></img>
...........
<img src="end.jpg></img>
也许是这样的:
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)
);
}
Elements类是一个集合。这意味着您应该能够简单地对它进行迭代,并获得它包含的每个元素的src值
试试这个:
大概看看它!不是的,那里的解决方案只得到第一个src属性,就像我尝试的那样,我想得到所有被选中的src。好的,你应该看看下面,我已经发布了一个答案来获取所有图像。告诉你到底在做什么:发布一些代码,或者如果你不想:写一个JUnit测试,然后在你的解析代码中进入调试模式,看看你的变量,看看它是否有效,然后你就能找到它阻塞的地方。您有一些库,比如or,可以帮助您模拟与测试无关的任何依赖项。我刚刚找到字符串imgSrc=imgElementsrc;必须是字符串imgSrc=imgElement.attrsrc;,就这些。
private static String trim(String s, int width) {
if (s.length() > width)
return s.substring(0, width-1) + ".";
else
return s;
}
for(Element imgElement : img) {
String imgSrc = imgElement("src");
}