[英]How to alias attributes in XStream with annotations?
我有以下代碼
@XStreamAlias("Pa")
public class Pa {
@XStreamAsAttribute
private String ms;
@XStreamAsAttribute
private String co;
@XStreamAsAttribute
private String house;
@XStreamAsAttribute
private String street;
// Getters and Setters
}
在構造XML時,我希望屬性名稱與變量名稱不同。
我知道我可以使用以下注釋對類進行處理
@XStreamAlias("ExampleClass")
private ExClass exClass;
上面的代碼將產生一個名稱為
<ExampleClass/>
但是,如果不創建單獨的標簽,就找不到更改屬性名稱的任何注釋。
我想要的是以下內容:
<Pa milliseconds="" co =""/>
但是使用
@XStreamAlias("Milliseconds")
private String ms;
正在使用給定名稱創建新標簽。 它不再是標記的屬性。
是否存在這樣的注釋? 我只需要使用注釋即可,而無需在運行時使用Java代碼來完成。
感謝您的時間。
您應該同時使用兩個注釋:
@XStreamAlias("Pa")
public class Pa {
@XStreamAsAttribute
@XStreamAlias("Milliseconds")
String ms = "test";
public static void main(String[] args) {
XStream xStream = new XStream();
xStream.ignoreUnknownElements();
xStream.processAnnotations(Pa.class);
String xml = xStream.toXML(new Pa());
System.out.println(xml);
}
}
輸出:
<Pa Milliseconds="test"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.