使用@XmlElements
时,有没有办法为同一类型指定不同的名称?我开始只使用@XmlElement
。做了一些阅读并找到@XmlElementWrapper
和@XmlElements
,但仍然无法获得我想要的输出。我意识到我可以为2制作不同的数据类型但如果我可以用注释做这个就很好。
当前迭代:
@XmlRootElement(name = "Root")
public class XmlTest {
@XmlElementWrapper(name="ContactInformation")
@XmlElements({
@XmlElement(name="Name"),
@XmlElement(name="LogicalOwner")
})
public List<String> contactInformation;
...
contactInformation = new ArrayList<>();
contactInformation.add("should be inside name");
contactInformation.add("should be insde of owner");
...
当前输出:
<Root>
<ContactInformation>
<LogicalOwner>should be inside name</LogicalOwner>
<LogicalOwner>should be insde of owner</LogicalOwner>
</ContactInformation>
</Root>
期望输出:
<Root>
<ContactInformation>
<Name>should be inside name</Name>
<LogicalOwner>should be insde of owner</LogicalOwner>
</ContactInformation>
</Root>
答案 0 :(得分:0)
您可以尝试创建一个用于存储字段的类,然后序列化该类。
@XmlRootElemnt(name="root")
Class ContactInformation{
private String name;
@XmlElement(name="Name")
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
我以前习惯使用Gson.toJson(),所以我在序列化到XML方面帮助不大;希望这可以指出你在正确的方向。