Java 单标记XML到多字段JAXB
对于JAXB库,我有以下问题 XML 问题是信息字段映射正确,因此在值valueObject中有完整的对象信息。但是没有映射字符串This is a value,因为JAXB库只映射第一个名为“value”的字段 如何映射值字符串 我在StackOverflow上发现了一个类似的问题,但在回答中他们说使用对象节点(DOM库)。因此,字段被视为一个字符串,在第二时刻,他们使用JAXB库映射复杂对象。 所以,对于我的脚本来说,这不是一个好的解决方案,因为我有一个字符串列表和一个对象列表;那么,如果名单很长,我就得看名单 我能做什么?你能帮我吗Java 单标记XML到多字段JAXB,java,xml,spring-boot,jaxb,Java,Xml,Spring Boot,Jaxb,对于JAXB库,我有以下问题 XML 问题是信息字段映射正确,因此在值valueObject中有完整的对象信息。但是没有映射字符串This is a value,因为JAXB库只映射第一个名为“value”的字段 如何映射值字符串 我在StackOverflow上发现了一个类似的问题,但在回答中他们说使用对象节点(DOM库)。因此,字段被视为一个字符串,在第二时刻,他们使用JAXB库映射复杂对象。 所以,对于我的脚本来说,这不是一个好的解决方案,因为我有一个字符串列表和一个对象列表;那么,如果名
非常感谢对于第二个示例,我不知道您的
valueObject
如何工作,因为注释显示它是一个名为
的Info
类型的元素,它有一个名为
的类型的字符串
。没有定义名为
的元素,因此不应映射obj1
,只映射obj1
。由于
元素可以包含文本内容和/或元素内容,因此需要将其定义为“混合”内容,并且您必须自己处理混合列表以获取文本和/或对象。见例。
<par>
<name>content</name>
<value>This is a value</value>
</par>
<par>
<name>map</name>
<value>
<info>
<obj>obj1</obj>
</info>
</value>
</par>
public static class Par {
@XmlElement(name = "name")
private String name;
@XmlElement(name = "value")
private Info valueObject;
@XmlAnyElement(lax = true)
private Node valueString;
}
public static class Info {
@XmlElement(name = "obj")
private String obj;
}