解析XML文件以获得<img/>标记&#34; src&#34;属性值

时间:2016-06-29 00:17:41

标签: android xml image src

我正在尝试构建一个应用程序,在不使用Twitter的Oauth的情况下显示给定Twitter帐户的订阅源,而是使用W3 spec我将Twitter帐户订阅源页面转换为xml格式src是埋在src属性

下的img标记内
<img xmlns="http://www.w3.org/1999/xhtml" width="250"
src="https://pbs.twimg.com/media/CmEqtEuUoAISIC3.jpg" 
xml:base="http://twitrss.me/twitter_user_to_rss/?user=capcomfighters" />

我能够获取所有其他标签文本内容,但我不知道如何访问标签属性并获取特定属性的值

如果有更好的方法来解析xml,请告诉我

我正在使用此功能来获取标签的内容

private void ProcessXml(Document data) {
    if (data != null) {
        feedItems=new ArrayList<>();
        Element root = data.getDocumentElement();
        Node channel = root.getChildNodes().item(1);
        NodeList items = channel.getChildNodes();
        for (int i = 0; i < items.getLength(); i++) {
            Node currentchild = items.item(i);
            if (currentchild.getNodeName().equalsIgnoreCase("item")) {
                FeedItem item=new FeedItem();
                NodeList itemchilds = currentchild.getChildNodes();
                for (int j = 0; j < itemchilds.getLength(); j++) {
                    Node current = itemchilds.item(j);
                    if (current.getNodeName().equalsIgnoreCase("title")){
                        item.setTitle(current.getTextContent());
                        item.setDescription(current.getTextContent());
                    }else if (current.getNodeName().equalsIgnoreCase("description")){
                       // item.setDescription(current.getTextContent());
                    }else if (current.getNodeName().equalsIgnoreCase("pubDate")){
                        item.setPubDate(current.getTextContent());
                    }else if (current.getNodeName().equalsIgnoreCase("img")){
                        item.setThumbnailUrl(current.getAttributes().getNamedItem("src").getNodeValue());
                        Log.d("PIC", "ProcessXml: "+current.getAttributes().getNamedItem("src").getNodeValue());
                    }
                }
                feedItems.add(item);
            }
        }
    }
}

0 个答案:

没有答案