【发布时间】:2020-01-14 06:10:33
【问题描述】:
假设我有以下 XML 模型:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"person",
"user"
})
@XmlRootElement(name = "CUSTOMER")
public class CUSTOMER {
@XmlElement(name = "PERSON", required = true)
protected CUSTOMER.PERSON person;
@XmlElement(name = "USER", required = true)
protected CUSTOMER.USER user;
....
....
如果我按照以下约定重命名类:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"person",
"user"
})
@XmlRootElement(name = "CUSTOMER")
public class Customer {
....
这两个元素都像:
@XmlElement(name = "PERSON", required = true)
protected CUSTOMER.PERSON person;
@XmlElement(name = "USER", required = true)
protected CUSTOMER.USER user;
....
XML 来自
new XmlMapper().writerWithDefaultPrettyPrinter().writeValueAsString(customer))
看起来像这样:
<Customer>
<id>id</id>
...
<person>
<id>id</id>
...
</person>
<user>
<id>id</id>
...
</user>
</Customer>
但我希望它看起来像这样:
<CUSTOMER>
<id>id</id>
...
<PERSON>
<id>id</id>
...
</PERSON>
<USER>
<id>id</id>
...
</USER>
</CUSTOMER>
我做错了吗? 我看到我可以使用 @JsonProperty 并且它有效,但仅适用于字段,我觉得在 XML 元素上使用 JsonProperty 是错误的。 我的模型类可以命名为 CUSTOMER、PERSON、USER 还是我应该重命名它们,如果重命名它们更好,我应该使用 JsonProperty? RootElement 呢?
【问题讨论】: