当前位置: 首页 > 面试题库 >

将Java对象转换为XML字符串

鞠自明
2023-03-14
问题内容

是的,是的,我知道有关此主题的问题很多。但是我仍然找不到解决我问题的方法。我有一个带属性的Java对象。例如客户,如本例所示。我想要它的字符串表示形式。为此,Google建议使用JAXB。但是在所有示例中,创建的XML文件都会打印到文件或控制台,如下所示:

File file = new File("C:\\file.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();

// output pretty printed
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

jaxbMarshaller.marshal(customer, file);
jaxbMarshaller.marshal(customer, System.out);

但是我必须使用该对象并以XML格式通过网络发送。所以我想得到一个表示XML的字符串。

String xmlString = ...
sendOverNetwork(xmlString);

我怎样才能做到这一点?


问题答案:

您可以使用Marshaler的方法进行封送处理,该方法将Writer作为参数:

元帅(Object,Writer)

并传递给它一个可以构建String对象的实现

直接已知的子类:
BufferedWriter,CharArrayWriter,FilterWriter,OutputStreamWriter,PipedWriter,PrintWriter,StringWriter

调用其toString方法以获取实际的String值。

这样做:

StringWriter sw = new StringWriter();
jaxbMarshaller.marshal(customer, sw);
String xmlString = sw.toString();


 类似资料:
  • 我怎么能转换java对象到xml?我试图转换一个传入的java对象到xml在Spring集成与转换器豆。有没有其他的方法比编组在Jaxb?喜欢使用@TypeConver。或实现转换器类。

  • 问题内容: 我一直在寻找与将JSON字符串转换为Java对象有关的示例,但没有找到任何好的示例。我发现的那个曾经真的很基础,却没有真正处理复杂的JSON字符串。 我正在制作一个使用谷歌翻译API将字符串从英语翻译成不同语言的应用程序。Google的查询回应是…以下文字采用JSON格式, 到目前为止,我的方法是使用GSON API,但实际上,我被该如何处理这个复杂的结果并创建Java对象所困扰? 我

  • 本文向大家介绍将Java字符串对象转换为布尔对象,包括了将Java字符串对象转换为布尔对象的使用技巧和注意事项,需要的朋友参考一下 可以使用字符串文字在Java中创建字符串对象。 创建字符串对象的另一种方法是使用new关键字。 我们使用第一种方法来创建字符串对象。 现在,使用该方法将字符串对象转换为布尔对象。我们已经在布尔对象上使用了此方法。 现在让我们看完整的示例,以显示如何将String Ob

  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 将XML转换为Java对象的最佳方法是什么? 我不希望类似表示,但是想从XML中提取某些数据并填充Java对象。我看过XStream,但并不真正喜欢整个“调低

  • 在我的例子中,其中一个xml标记值是"09031454866678e6"。而在中转换为json对象e被认为是科学符号,并转换为“9.031454866678E6”。 我应该如何避免这种转换并确保它被解析为字符串而不是数字? 在代码中: 其中resp是xml字符串。 设置值时失败 setobject方法如下所示 项目中使用的maven依赖项是 我期望输出与原始值“09031454866678e6”相

  • 问题内容: 将字符串表示形式转换为对象,但我要相反。对象要转换为JSON字符串,我有一个链接http://www.devcurry.com/2010/03/convert- javascript-object-to-json.html, 但是它需要json2.js jQuery是否具有本机功能方法来做到这一点? 问题答案: jQuery只会在调用本机浏览器方法之前进行一些正则表达式检查。如果不可用