1

我有一个只有一个父级和一个子级的 XML 配置文件。这将永远是这样,永远不会改变。它看起来像这样:

<parent>
   <child1>test</child1>
   <child2>123</child2>
</parent>

我想使用 java DOM ( org.w3c.dom.Document) 将 XML 解析为 TreeMap,以便我可以将属性作为键/值访问。我猜我需要创建一个 for 循环来扫描 XML 并逐行添加键(父)和值(子)?

4

1 回答 1

4

可以使用 遍历XML文档JAXP APIs,不需要提前知道结构或者节点名

InputStream is = new ByteArrayInputStream(xml.getBytes("UTF-8"));
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
Document doc = docBuilder.parse(is);
NodeList nodeList = doc.getChildNodes();

你可以迭代文档并获取节点和属性

for (int i = 0; i < nodeList.getLength(); i++) {
            Node node = nodeList.item(i);
            NamedNodeMap attributes = node.getAttributes();

//...

}

于 2012-10-08T11:27:13.393 回答