Jsoup:如何将图像src作为绝对uri?

时间:2013-12-26 20:04:05

标签: java uri jsoup

我这样做了:

Document doc = Jsoup.parse(xmlDescrizione);
Elements lista = doc.select("img");
Element url = lista.get(0);

System.out.println(url);
System.out.println(url.attr("abs:src"));

第一行打印:<img src="IMAGEURL..." alt="" border="1" width="80" height="59" /> 第二行打印空字符串

我错过了什么?

3 个答案:

答案 0 :(得分:4)

您似乎正在解析已经读过的HTML代码,因此您的doc对基础uri没有任何想法,可以用它来构建绝对路径。如果是这种情况,则应在使用url.attr("abs:src")url.absUrl("src")之前明确指定base uri 你可以用

来做到这一点
doc.setBaseUri("http://your.domain.com/your/page");

答案 1 :(得分:0)

我不完全确定scr属性是否与abs:前缀一起使用。根据{{​​3}},你可以试试这个:

Document doc = Jsoup.parse(xmlDescrizione);
Element image = doc.select("img").get(0);;
String urlStr = image.absUrl("src");
System.out.println(urlStr);

请注意,abs:前缀以及Node.absUrl("key")方法仅在基本路径正确地提供给Jsoup解析器时才有效。所以你似乎也需要调整你的

Jsoup.parse(xmlDescrizione);

类似

Jsoup.parse(xmlDescrizione, "THE/BASE/PATH");

答案 2 :(得分:0)

可能需要使用image.absUrl(&#34; abs:href&#34;)而不是使用src .it取决于属性键名称