我有一个XML配置文件,只有一个父项和一个子项。这将永远是这样,永远不会改变。它看起来像这样:
<parent>
<child1>test</child1>
<child2>123</child2>
</parent>
我想使用java DOM(org.w3c.dom.Document
)将XML解析为TreeMap,以便我可以将属性作为键/值来访问。我猜我需要创建一个for循环来扫描XML并逐行添加键(父)和值(子)?
答案 0 :(得分:3)
您可以使用JAXP APIs
遍历XML文档,您无需事先知道结构或节点名称
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();
//...
}