Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取所有图像src值而不仅仅是第一个?_Java_Android_Image_Jsoup - Fatal编程技术网

Java 获取所有图像src值而不仅仅是第一个?

Java 获取所有图像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值。 我该怎么做?我尝试了元素img=doc.selectimg,然后字符串imgSrc=img.attrsrc。结果是,我只得到第一个src。我怎样才能得到所有的图像src

<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");
}