如何在Java中迭代Xml文件并从中创建对象
我有一个Xml文件,我迭代如下:如何在Java中迭代Xml文件并从中创建对象,java,arrays,spring,object,Java,Arrays,Spring,Object,我有一个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
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);
}
}
}
List List=new ArrayList();
对于(int i=0;i0){
字符串标识符=id.getTextContent();
字符串key2=key.getTextContent();
System.out.println(“id:+标识符”);
System.out.println(“键:+key2”);
列表。添加(标识符);
列表。添加(键2);
}
}
}
正如您所看到的,我可以将值添加到字符串列表中,但这不是我想要做的。我想根据这些字符串值创建一个对象列表,如下所示:
[{“id”:标识符,“key”:key2}]
我尝试了很多方法,但似乎都不管用,Java中一定有一些简单的方法可以将这些字符串作为键值对添加到列表中?这里:
List<String> list = new ArrayList<>();
你可以做:
list.add(Collections.singletonMap(identifier, key2);
或者类似的东西。“我已经尝试了很多方法”这些方法中有没有一种真的涉及到创建一个包含两个字段的类
id
和key
?如果是,请编辑问题并向我们展示该尝试。如果没有,如果没有对象类,为什么希望能够创建对象列表?仅供参考:您可能想了解JAXB,它是一个用于将XML映射到对象的库。在版本8和更早的版本中,它实际上是内置在Java中的,但现在您必须自己将其添加到类路径中。谢谢@Andreas,我创建了一个类来存储这些值,并正确地实现了它。@MostowskiCollapse完成了,没有理解您问题的上下文。
list.add(identifier);
list.add(key2)
list.add(Collections.singletonMap(identifier, key2);