Jsoup - 如何选择元素中的元素

时间:2017-09-25 19:56:04

标签: java android jsoup

我试图在另一个元素中选择一个元素,例如:

<video>
    <source src = "" />
</video>

选择视频视频中的源元素的Android代码没有src属性

private String getVideoSrc(Document doc){
        String src = null;

        Element video = doc.select("video").first();
        Element source = null;

        if(video.attr("src") == null){
            source = video.select("source").first();
        }

        if(video.attr("src") !=null){
            src = video.attr("src");
        }else if(source.attr("src") != null){
            src = source.attr("src");
        }

        return src;
    }

当视频中有src属性时,它会正常返回内容,如果它不存在,但是在视频内部的源中存在它甚至不能获得标记

示例:

Element video = doc.select("video").first();
Element source = video.select("source").first();

This是包含不起作用的元素的页面,但我构建的应用程序必须获取最大可能站点数的src属性

1 个答案:

答案 0 :(得分:2)

在if条件中使用isEmpty(),而不是null

String src = null;

Element video = doc.select("video").first();
Element source = null;

if(video.attr("src").isEmpty()){
    System.out.println("is null");
    source = video.select("source").first();
}

if(!video.attr("src").isEmpty()){
    src = video.attr("src");
}else if(!source.attr("src").isEmpty()){
    src = source.attr("src");
}