我有以下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地图,我的所有值都是空的!: {#text =,doc = null,id = null,src = null}
有人可以帮忙吗?
答案 0 :(得分: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());
}
}