我有以下代码
@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 :(得分: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"/>