Java 从XML解析映射

Java 从XML解析映射,java,xml,xpath,Java,Xml,Xpath,这是我的xml <body> <map> <key1> value1 </key1> <key2> value2 </key2> .... </map> <body> 价值1 价值2 .... 我有: Document xPac

这是我的xml

  <body>
      <map>
         <key1>
            value1
         </key1>
         <key2>
            value2
         </key2>
         ....
      </map>
  <body>

价值1
价值2
....
我有:

Document xPacket;
XPath xPath = XPathFactory.newInstance().newXPath();
Map<Integer, String> temp = new HashMap<Integer, String>();
Object rawMap = xPath.compile("//body/map/").evaluate(xPacket, XPathConstants.NODESET);
NodeList mapNodeList = (NodeList) rawMap;
documentxpacket;
XPath=XPathFactory.newInstance().newXPath();
Map temp=newhashmap();
对象rawMap=xPath.compile(“//body/map/”).evaluate(xPacket,xpathcontents.NODESET);
节点列表映射节点列表=(节点列表)rawMap;

但是如何遍历
NodeList
并在map中填充值呢?

既然您没有另外指定,我假设您使用的是标准Java库的类

对象有一个
项(int)
方法。您可以使用该方法在
节点列表中的节点之间循环:

Map<Integer, String> map = new HashMap();
for (int i = 0; i < aNodeList.getLength(); i++) {
    Node item = aNodeList.item(i);
    map.put(Integer.valueOf(item.getTextContent()), item.getLocalName());
}
Map Map=newhashmap();
对于(int i=0;i

这里我假设您希望将XML键节点的文本内容映射到节点的名称(因为映射的类型参数)

NodeList有什么方法吗?它们是什么?类似于获取名称、属性或子节点的方法吗?