获取XML中内部节点的属性

时间:2015-02-19 10:35:54

标签: java android xml

我有下一个XML文件

<cities>
<country name="Абхазия">
    <city id="37188" region="27028" head="" type="3" country="Абхазия" part="" resort="" climate="">Новый Афон</city>
</country> 
</cities>

我需要从内城节点获取id属性。我已经完成了下一个代码,但我不知道如何继续:

        Document doc = parser.getDomElement(xml);
        NodeList nl = doc.getElementsByTagName(KEY_COUNTRY);

        for (int i = 0; i < nl.getLength(); i++) {

            Element e = (Element) nl.item(i);
            String city = parser.getValue(e, KEY_CITY);

        }

4 个答案:

答案 0 :(得分:2)

使用此方法。

NodeList nl = doc.getElementsByTagName("City");

        for (int i = 0; i < nl.getLength(); i++) {
            Node nNode = nl.item(i);
            if (nNode.getNodeType() == Node.ELEMENT_NODE) {
                Element eElement = (Element) nNode;

                String id = eElement.getAttribute("id");

            }
        }

答案 1 :(得分:1)

    NodeList nodeList = doc.getElementsByTagName("city");
    for (int i = 0; i < nodeList.getLength(); i++) {
        String id = nodeList.item(i).getAttributes().getNamedItem("id").getTextContent();
        //  do something with 'id'
        String cityName = nodeList.item(i).getTextContent();
        //  do something with 'cityName'
    }

答案 2 :(得分:1)

for(int i = 0; i < nl.getLength(); i++){ 
        Node n = nl.item(i);
        if (n.getNodeType() == Node.ELEMENT_NODE) {
            Element e = (Element)n;
            String yourId = e.getAttribute("KEY_CITY");
        }


}

答案 3 :(得分:0)

使用XmlPullParser .....这里是教程的link所以你可以开始使用