0

私は次のXMLを持っています:

<myroot>
<id>1</id>
<doc>im a doc</doc>
<src>sys</src>
</myroot>

そして、マップ内の「myroot」内のすべてを解析できるようにしたいと思います。したがって、上記の場合、関数が次のようにマップを返すようにします{id = 1、doc = im a doc、src = sys} DOMを使用しているので、DOMの提案のみを提供してください。コードは次のとおりです。

//Code to init the Document here.            
....
NodeList root = document.getChildNodes();   //up here i should have myroot
NodeList elements = root.item(0).getChildNodes();  //here i should get all the nested items i want to map
for ( int x = 0; x < elements.getLength(); x++ ) {         
  map.put(elements.item(x).getNodeName(), elements.item(x).getNodeValue());
}

しかし、私が得ているのは、このマップは私が必要としない#textマップであり、すべての値がnullです!:{#text =、doc = null、id = null、src = null}

誰か助けてもらえますか?

4

1 に答える 1

0

これで問題が解決すると思います。

        NodeList nList = doc.getChildNodes();
        NodeList elements = nList.item(0).getChildNodes();


        for (int temp = 0; temp < elements.getLength(); temp++) {

            Node nNode = elements.item(temp);

            if (nNode.getNodeType() == Node.ELEMENT_NODE) {

                Element eElement = (Element) nNode;
                System.out.println("Node name: " + eElement.getNodeName() + " \tValue: " + eElement.getTextContent());


            }
        }
于 2013-02-04T20:33:19.457 に答える