2017-03-06 55 views
0

我有下面這段代碼如何使用註釋在XStream中別名屬性?

@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代碼。

謝謝你的時間。

回答

0

你應該使用這兩種註釋:

@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"/> 
相關問題