如何使用 XMLMapper 使用键值对反序列化 XML

How to deserialize XML with key value pairs with XMLMapper

我有一个非常简单的 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();
    }
  }

还有几个 类 我原以为它会进入

public class Configuration {    
  private Settings settings;
}


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


public class Property {
  private String name;

  private String value;
}

然而,配置对象的设置只有一个空值 属性。

我错过了这里的明显内容吗?

几个注释就是最后的答案

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

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

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