使用jaxb将Java Object转换为XML String

时间:2010-06-30 09:17:52

标签: java jaxb marshalling

我想将Java Object转换为包含封送的XML数据的String。我找到的方法之一是首先编组一个文件然后使用BufferedReader读取文件以转换为字符串。我觉得这可能不是最有效的方法,因为IO操作执行两次(一次是在封送期间,另一次是在将文件内容转换为String期间)

有人可以建议任何更好的方法吗?

2 个答案:

答案 0 :(得分:8)

将一个StringWriter对象作为参数传递给Marshaller的marshal method

答案 1 :(得分:0)

以下是AbacusUtil

的简单代码
Account account = N.fill(Account.class);
String xml = N.toXML(account);
N.println(xml); // <account><id>6264304841028291043</id><gui>33acdcbe-fd5b-49</gui><emailAddress>19c1400a-97ae-43</emailAddress><firstName>67922557-8bb4-47</firstName><middleName>7ef242c9-8ddf-48</middleName><lastName>1ec6c731-a3fd-42</lastName><birthDate>1480444055841</birthDate><status>1444930636</status><lastUpdateTime>1480444055841</lastUpdateTime><createTime>1480444055841</createTime></account>
Account account2 = N.fromXML(Account.class, xml);
assertEquals(account, account2);

声明:我是AbacusUtil的开发者。