簡體   English   中英

如何在 Java 中迭代 Xml 文件並從中創建對象

[英]How to iterate Xml file in Java and create objects from it

我有一個 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);

或類似的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM