将Java对象转换为XML字符串
是的,是的,我知道有关此主题的问题很多。但是我仍然找不到解决我问题的方法。我有一个带属性的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字符串 的全部内容, 来源链接: utcz.com/qa/427250.html