【问题标题】:Parsing XML(Nodes)解析 XML(节点)
【发布时间】:2014-04-16 15:05:14
【问题描述】:

我在this XML 中有一个小问题 我想从我找到的 this 解决方案的 Rss 中获取标题和描述

并使用此功能

RssObject Value = new RssObject();

public void getTagRss(String URL) {
    XMLParser parser = new XMLParser();
    String xml = getXml(URL);
    Document doc = parser.getDomElement(xml);
    NodeList nl = doc.getElementsByTagName(Rss_key); // Site tag Name
    for (int i = 0; i < nl.getLength(); i++) {
        Element e = (Element) nl.item(i);
        NodeList children = e.getChildNodes();
        Log.i(TAG, "Children length: " + children.getLength());
        for (int j = 0; j < children.getLength(); j++) {
            Node child = children.item(j);
            // name child value
            if (child.getNodeName().equalsIgnoreCase(Item_key)) {
                // name child value
                Value.Title = parser.getValue(e, Title_key);
                Value.Desc = parser.getValue(e, Desc_key);
                Gen_Obj.Rsslist2.add(Value);
            }
        }
    }
}

输出为this

重复第一项两次,给我孩子的长度是 5 我的功能有什么问题 谢谢

【问题讨论】:

标签: java android xml parsing nodelist


【解决方案1】:

会是这样的

public void getTagRss(String URL) {
    XMLParser parser = new XMLParser();
    String xml = getXml(URL);
    Document doc = parser.getDomElement(xml);
    NodeList nl = doc.getElementsByTagName(Rss_key); // Site tag Name
    for (int i = 0; i < nl.getLength(); i++) {
        Element e = (Element) nl.item(i);
        NodeList children = e.getElementsByTagName(Item_key);
        for (int j = 0; j < children.getLength(); j++) {
            Element C1 = (Element) children.item(j);
            RssObject Value = new RssObject();
            Value.Title = parser.getValue(C1, Title_key);
            Value.Desc = parser.getValue(C1, Desc_key);
            Gen_Obj.Rsslist2.add(Value);
        }
    }
}

谢谢 :D

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-05
    相关资源
    最近更新 更多