Fab*_*ens 4 java xml collections jaxb
我有一个名为XmlSource的类,它包含XmlSourceAudioLang类型的对象集合,而XmlSourceAudioLang类有一个名为language的字段,我需要将其编组为XML,即:
@XmlAccessorType(XmlAccessType.FIELD)
public class XmlSource {
@XmlElement(name="original_audio_language", nillable=true)
protected Set<XmlSourceAudioLang> originalAudio;
}
Run Code Online (Sandbox Code Playgroud)
和
@XmlAccessorType(XmlAccessType.FIELD)
public class XmlSourceAudioLang {
@XmlElement(nillable = true)
private String language;
}
Run Code Online (Sandbox Code Playgroud)
通过此设置,JAXB为集合中的每个对象生成original_audio_language标记:
<original_audio_language>
<language>Ukrainian</language>
</original_audio_language>
<original_audio_language>
<language>Russian</language>
</original_audio_language>
Run Code Online (Sandbox Code Playgroud)
有没有办法配置绑定,以便只有一个父original_audio_language标记?
假设你的意思是你想要这个:
<original_audio_language>
<language>Ukrainian</language>
<language>Russian</language>
</original_audio_language>
Run Code Online (Sandbox Code Playgroud)
然后尝试这个:
@XmlAccessorType(XmlAccessType.FIELD)
public class XmlSource {
@XmlElementWrapper(name="original_audio_language")
@XmlElement(name="language")
protected Set<XmlSourceAudioLang> originalAudio;
}
Run Code Online (Sandbox Code Playgroud)
@XmlAccessorType(XmlAccessType.FIELD)
public class XmlSourceAudioLang {
@XmlValue
private String language;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1387 次 |
| 最近记录: |