java - 如何使用 XMLMapper 反序列化具有键值对的 XML

标签 java xml objectmapper

我有一个非常简单的 XML 文件,但我似乎无法将其反序列化回 POJO。

该文件如下所示:

<?xml version="1.0"?>
<Settings>
    <property name="a"  value="1"/>
    <property name="b"  value="2"/>
    <property name="c"  value="3"/>
    [...]       
</Settings>

用一个非常简单的方法

  public void convertXml() {

    try {
      final XmlMapper xmlMapper = new XmlMapper();
      final Configuration configuration = xmlMapper.readValue(rawXml.getFile(), Configuration.class);

      log.info("Configuration parsed {}", configuration);

    } catch (final IOException e) {
      e.printStackTrace();
    }
  }

还有一些我本以为会进入的类(class)

public class Configuration {    
  private Settings settings;
}


public class Settings {
  private List<Property> property;
}


public class Property {
  private String name;

  private String value;
}

但是,Configuration 对象的 Settings 属性只有一个空值。

我错过了这里显而易见的事情吗?

最佳答案

一些注释最终得到了答案

@JacksonXmlRootElement(localName = "Settings")
public class Configuration {

  @JacksonXmlElementWrapper(useWrapping = false)
  private List<Property> property;
}

这让我可以放弃中间的设置类。

关于java - 如何使用 XMLMapper 反序列化具有键值对的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58791269/

相关文章:

asp.net - 尝试读取 XML 文件,但他总是一样

ios - 从根节点映射嵌套对象不起作用

json - ObjectMapper 解析通用对象

java - SQLite异常: No such table even if there is table

java - XML 差异与合并

java - Spring Boot Actuator 不工作 - 白标错误页面

java - 如何在SmartTabLayout中以编程方式定义选项卡的宽度

json - alamofireobjectmapper requestObject 无法做出正确的请求和映射

java - 如何在Struts2中使用JSF数据表?

java - 仅 1900 年的 Java 日期计算出现 30 分钟错误