如何在Android中获取XML元素内容?

时间:2011-10-31 20:12:21

标签: android xml

说我有一个XML节点,我需要获取某个元素的内容,比如说

    NodeList nodes = doc.getElementsByTagName("msg");

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

        Element e = (Element)nodes.item(i);
        Log.e("XML: " , e.get... WHAT GOES INTO HERE ...("id") );
    }   

我需要获取“id”元素的内容,最好的方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果XML的结构如下所示:

<someroot>
    <msg>
       <sometag>hi</sometag>
       <id>Some Text</id>
     </msg>
<someroot>

然后你可以这样做来访问id节点的内容:

NodeList nodes = doc.getElementsByTagName("msg");
        for (int i = 0; i < nodes.getLength(); i++) {           
            if (nodes.item(i).getNodeType() == Node.ELEMENT_NODE) {
                NodeList msgChildren = nodes.item(i).getChildNodes();
                for (int j = 0; j < msgChildren.getLength(); j++) {
                    if (msgChildren.item(j).getNodeType() == Node.ELEMENT_NODE) {
                        Element e = (Element) msgChildren.item(j);
                        if ("id".equals(e.getNodeName())) {
                            System.out.println(e.getTextContent());
                        }
                    }
                }
            }
        }