Java 如何使用XMLMapper反序列化具有键值对的XML
我有一个非常简单的XML文件,但似乎无法将其反序列化回POJO 该文件看起来像:Java 如何使用XMLMapper反序列化具有键值对的XML,java,xml,objectmapper,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> 还有
<?xml version="1.0"?>
<Settings>
<property name="a" value="1"/>
<property name="b" value="2"/>
<property name="c" value="3"/>
[...]
</Settings>
还有几门课,我本以为会上的
public class Configuration {
private Settings settings;
}
public class Settings {
private List<Property> property;
}
public class Property {
private String name;
private String value;
}
公共类配置{
私人设置;
}
公共类设置{
私有财产清单;
}
公共类财产{
私有字符串名称;
私有字符串值;
}
但是,配置对象的Settings属性只有一个null值
我错过了这里显而易见的东西了吗 最后,几个注释是答案
@JacksonXmlRootElement(localName = "Settings")
public class Configuration {
@JacksonXmlElementWrapper(useWrapping = false)
private List<Property> property;
}
@JacksonXmlRootElement(localName=“Settings”)
公共类配置{
@JacksonXmlElementWrapper(useWrapping=false)
私有财产清单;
}
这让我放弃了中产阶级 可能是因为小写字母
s
请尝试这样更改private Settings
设置,这样您可能需要重新命名classI尝试过,但没有成功。我想我需要一个私有映射属性
来映射名称/值对,但不确定如何做到这一点,并且只获取XML文件中的最后一个值。
@JacksonXmlRootElement(localName = "Settings")
public class Configuration {
@JacksonXmlElementWrapper(useWrapping = false)
private List<Property> property;
}