扩展这个问题
How to extract an image src from RSS feed
对于JAVA,已经为ios做了回答,但为了让它在JAVA中运行,没有足够的解决方案。
解析直接标记的RSS源对我来说是已知的,但解析另一个标记内的标记非常复杂,如下所示
<description>
<![CDATA[
<img width="745" height="410" src="http://example.com/image.png" class="attachment-large wp-post-image" alt="alt tag" style="margin-bottom: 15px;" />description text
]]>
</description>
如何单独拆分src标签?
答案 0 :(得分:5)
看看jsoup。我认为这就是你需要的。
修改强>
private String extractImageUrl(String description) {
Document document = Jsoup.parse(description);
Elements imgs = document.select("img");
for (Element img : imgs) {
if (img.hasAttr("src")) {
return img.attr("src");
}
}
// no image URL
return "";
}
答案 1 :(得分:1)
您可以尝试使用正则表达式来获取值, 看看这个小例子,我希望它可以帮到你。 有关正则表达式的更多信息,您可以在此处找到更多信息。 http://www.tutorialspoint.com/java/java_regular_expressions.htm
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test{
public static void main(String []args){
String regularExpression = "src=\"(.*)\" class";
String html = "<description> <![CDATA[ <img width=\"745\" height=\"410\" src=\"http://example.com/image.png\" class=\"attachment-large wp-post-image\" alt=\"alt tag\" style=\"margin-bottom: 15px;\" />description text ]]> </description>";
// Create a Pattern object
Pattern pattern = Pattern.compile(regularExpression);
// Now create matcher object.
Matcher matcher = pattern.matcher(html);
if (matcher.find( )) {
System.out.println("Found value: " + matcher.group(1) );
//It's prints Found value: http://example.com/image.png
}
}
}