1. jaxb marshall without @XmlRootElement
针对没有@XmlRootElement的情况如何marshall
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
marshaller.marshal(new JAXBElement<MyClass>(new QName("uri","local"), MyClass.class, myClassInstance), System.out);
marshall方法只要改变一下就OK了。
出处:http://stackoverflow.com/questions/819720/no-xmlrootelement-generated-by-jaxb
2.
JAXB marshals XML differently to OutputStream vs. StringWriter
marshal to String .
转成String .
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
StringWriter sw = new StringWriter();
marshaller.marshal(new JAXBElement<MyClass>(new QName("uri","local"), MyClass.class, myClassInstance), sw);
3.
printing output from xml
// Instantiate transformer input
Source xmlInput = new StreamSource(new StringReader(
"<!-- Document comment --><aaa><bbb/><ccc/></aaa>"));
StreamResult xmlOutput = new StreamResult(new StringWriter());
// Configure transformer
Transformer transformer = TransformerFactory.newInstance()
.newTransformer(); // An identity transformer
transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, "testing.dtd");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.transform(xmlInput, xmlOutput);
System.out.println(xmlOutput.getWriter().toString());
本文介绍在使用JAXB进行XML序列化时遇到的几个常见问题及其解决方案,包括如何处理缺少@XmlRootElement注解的对象、输出流与字符串流在序列化时的差异,以及如何美化XML输出。
6660

被折叠的 条评论
为什么被折叠?



