如何在jsoup中提取属性

时间:2013-10-06 08:42:49

标签: java android xml-parsing

如何从以下XML标记中提取url = ""部分。我在Android中使用Jsoup

<enclosure type="image/jpg" url="EXTRACT THIS" length="123456" />

请参阅我的代码:

Document doc = db.parse(new InputSource(url.openStream()));
            doc.getDocumentElement().normalize();

            // Get all <item> tags.
            NodeList nl = doc.getElementsByTagName("item");
            int length = nl.getLength();


            for (int i = 0; i < length; i++) {
                Node currentNode = nl.item(i);
                RSSItem _item = new RSSItem();

                NodeList nchild = currentNode.getChildNodes();
                int clength = nchild.getLength();

                // Get the required elements from each Item
                for (int j = 0; j < clength; j = j + 1) {

                    Node thisNode = nchild.item(j);
                    String theString = null;
                    String nodeName = thisNode.getNodeName();

                    //NodeList test = nchild.item(j).getChildNodes();

                    if(j<=3){
                        theString = nchild.item(j).getFirstChild().getNodeValue();
                    }
                    if("enclosure".equals(nodeName)){
                        //HAVE TO GET URL HERE from ATTRIBUTE:  
                    }

这是XML:

view-source:http://www.skysports.com/rss/0,20514,11661,00.xml

1 个答案:

答案 0 :(得分:1)

Document doc = Jsoup.connect(link).get();
        Elements elements= doc
                .getElementsByTag("enclosure");
    for(int i=0;i<elements.getsize();i++){
        String url=elements.get(i).attr("href");}

您按标记名称进行搜索,它将获得具有您输入标记的元素。 我使用get(0)表示它可能是你的链接的第一个元素..或..可能是它是唯一的元素..使用索引,因为你在链接中看到它的顺序.. attr:获取该元素的属性 它是返回字符串..

祝你好运:)