[英]Generate Different types of XMl with same class using JAXB
我有一節課:
@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
創建另一個類來做到這一點,但我想為此使用相同的類。 請幫我。
我發現這個https://stackoverflow.com/a/33096124/1976843答案可以幫助你。
如果您想繼續使用 jaxb,則需要編寫自己的 AnnotationReader
您正在為 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 元素的原始類進行更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.