0

我已经开始使用 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>

但是,我想调整输出并将字符串年龄作为字段名的属性。本质上,我期望 xml 输出如下:

<Person>
  <firstname age="34">David</firstname>
  <lastname>Goswami</lastname>
 </Person>

任何有关如何做到这一点的帮助将不胜感激。

4

3 回答 3

0

您可以使用XStream.useAttributeFor()来声明要序列化为属性的属性:

xstream.useAttributeFor(Person.class, "age");
于 2012-10-01T08:22:50.357 回答
0
@XStreamAsAttribute
String age; 
于 2012-10-01T08:23:51.190 回答
0

您可以使用用户定义的转换器,有类似问题的好例子是:http: //www.coderanch.com/t/426981/XML/XStream-variable-as-attribute-another

于 2012-10-01T08:29:27.200 回答