我已经开始使用xstream库将Java代码转换为XML。我的模型java类很简单,如下所示:
class Person {
String firstname;
String lastname;
String age;
public Person(String first, String last,String age) {
firstname = first;
lastname = last;
this.age = age;
}
}
因此,使用简单的xstream API,我得到toXML
方法的输出如下:
<Person>
<firstname>David</firstname>
<lastname>Goswami</lastname>
<age>34</age>
</Person>
但是,我想调整输出并将字符串age作为字段firstname的属性。本质上,我期待xml输出如下:
<Person>
<firstname age="34">David</firstname>
<lastname>Goswami</lastname>
</Person>
任何有关如何做到这一点的帮助都将受到高度赞赏。
答案 0 :(得分:0)
您可以使用XStream.useAttributeFor()
声明要将其序列化为属性的属性:
xstream.useAttributeFor(Person.class, "age");
答案 1 :(得分:0)
@XStreamAsAttribute
String age;
答案 2 :(得分:0)
你可以使用用户定义的转换器,有类似问题的好例子是: http://www.coderanch.com/t/426981/XML/XStream-variable-as-attribute-another