如何在Java中迭代Xml文件并从中创建对象



我有一个Xml文件,我这样迭代:

List<String> list = new ArrayList<>();
for (int i = 0; i < nList.getLength(); i++) {
Node nNode = nList.item(i);
System.out.println("nCurrent Element: " + nNode.getNodeName());
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element elem = (Element) nNode;
Node id = elem.getElementsByTagName("id").item(0);
Node key = elem.getElementsByTagName("key").item(0);
if (id.getTextContent().length() > 0) {
String identifier = id.getTextContent();
String key2 = key.getTextContent();
System.out.println("id: " + identifier);
System.out.println("key: " + key2);
list.add(identifier);
list.add(key2);
}
}
}

可以工作,正如您所看到的,我可以将值添加到字符串列表中,但这不是我想要做的。我想从这些字符串值中创建一个对象列表,像这样:

[{"id": identifier, "key" : key2}].

我已经尝试了很多方法,但似乎没有工作,必须有一些简单的方法在Java也添加这些字符串作为键值对在一个列表?

此处:

List<String> list = new ArrayList<>();

如果你不想收集Strings,然后这样说:

List<Map<String, String>> list = new ArrayList<>();

然后,不添加字符串:

list.add(identifier);
list.add(key2)

你可以这样做:

list.add(Collections.singletonMap(identifier, key2);

或类似的东西

最新更新