我有一个只有一个父级和一个子级的 XML 配置文件。这将永远是这样,永远不会改变。它看起来像这样:
<parent>
<child1>test</child1>
<child2>123</child2>
</parent>
我想使用 java DOM ( org.w3c.dom.Document
) 将 XML 解析为 TreeMap,以便我可以将属性作为键/值访问。我猜我需要创建一个 for 循环来扫描 XML 并逐行添加键(父)和值(子)?
可以使用 遍历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();
//...
}