我有一节课:
@XmlRootElement(name="pickup")
public class PickUp
{
@XmlAttribute(name="contactName")
public String contactName;
@XmlAttribute(name="phoneNumber")
public String phoneNumber;
@XmlAttribute(name="pickupDate")
public String pickupDate;
@XmlAttribute(name="pickupTime")
public String pickupTime;
@XmlAttribute(name="closingTime")
public String closingTime;
@XmlAttribute(name="location")
public String location;
}
这将生成如下的XMl:
<Pickup contactName="Test Name" phoneNumber="888-888-8888" pickupDate="2009-08-03" pickupTime="16:30" closingTime="17:45" location="Front Door"/>
这是完美的,但是使用相同的代码我也想生成如下的Xml:
<Pickup>
<contactName>Test Name</contactName>
<phoneNumber>888-888-8888</phoneNumber>
<pickupDate>2009-08-03</pickupDate>
<pickupTime>16:30</pickupTime>
<closingTime>17:45</closingTime>
<location>Front Door</location>
</Pickup>
我可以通过使用@xmlElement
创建另一个类来完成此操作,但我想为此使用相同的类。
请帮帮我。
答案 0 :(得分:0)
我发现这个可以帮助你的https://stackoverflow.com/a/33096124/1976843答案。
如果你想继续使用jaxb,你需要编写自己的AnnotationReader
答案 1 :(得分:-1)
您正在使用XML属性的标记。使用@XmlElement
标记以您所需的格式生成XML,您应该将标记设为
@XmlElement
public String getContactName() {
return contactName;
}
public void setcontactName(String name) {
this.contactName= name;
}
@XmlElement
public String getphoneNumber() {
return phoneNumber;
}
public void setphoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
无需创建新类。您可以对xml元素的原始类进行更改。