数组—如何在java中迭代xml文件并从中创建对象

lf3rwulv  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(353)

我有一个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中一定有一些简单的方法也可以将这些字符串作为键值对添加到列表中?

guykilcj

guykilcj1#

在这里:

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

如果你不想收集字符串,那么说:

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

然后,不是添加字符串:

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

你可以做:

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

或者类似的东西。

相关问题