首页 > 解决方案 > 使用 Java 按字段名称解析 XML

问题描述

我想解析一个 XML 文件,但我无法获取每个字段的值。有人可以帮忙吗?

我可以获取每个字段的名称,但找不到获取每个字段值的方法。

我的 XML 文件的结构是这样的。

    <record>
      <field name="Name" key="DEU">Germany</field>
      <field name="Country">Germany</field>
      <field name="Year">1960</field>
      <field name="Value">72814900</field>
      <field name="Category">Europe</field>
    </record>
    <record>
      <field name="Name" key="DEU">Germany</field>
      <field name="Country">Germany</field>
      <field name="Year">1961</field>
      <field name="Value">73377632</field>
      <field name="Category">Europe</field>
    </record>

我的解析代码:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder documentBuilder = factory.newDocumentBuilder();
        Document document = documentBuilder.parse(file);

        NodeList list = (NodeList) document.getElementsByTagName("field");

        Map<String, String> data = new HashMap<>();

        for(int i = 0; i < list.getLength(); i++) {
            Element element = (Element)list.item(i);
            String nameAttribute = element.getAttribute("name");
            //String firstname = element.getElementsByTagName("firstname").item(0).getTextContent();
            String firstname = element.get;




            data.put(nameAttribute, "value"); <-- my problem is the "value" part


        }

        for(Map.Entry field : data.entrySet()) {
            System.out.println(field.getKey() + ": " + field.getValue());
        }

标签: javaxml-parsing

解决方案


推荐阅读