ByteArrayOutputStream bao = new ByteArrayOutputStream();
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(bao,
ResourcesPlugin.getEncoding());
Marshaller marshaller = new Marshaller(outputStreamWriter);
marshaller.setEncoding(ResourcesPlugin.getEncoding());
Content content = new Content();
content.setBean(beanValue1);
content.setBean(beanValue2);
marshaller.marshal(content);保存格式为
<content><bean ..../><bean ..../></content> 请问 这里能格式化成
<content>
<bean ..../>
<bean ..../>
</content> ????
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(bao,
ResourcesPlugin.getEncoding());
Marshaller marshaller = new Marshaller(outputStreamWriter);
marshaller.setEncoding(ResourcesPlugin.getEncoding());
Content content = new Content();
content.setBean(beanValue1);
content.setBean(beanValue2);
marshaller.marshal(content);保存格式为
<content><bean ..../><bean ..../></content> 请问 这里能格式化成
<content>
<bean ..../>
<bean ..../>
</content> ????
package com.sun.ATest;import java.io.StringWriter;import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;public class XmlFormat {
//字符串 XML 格式化处理
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
String temp = new XmlFormat().formatXml("<Head><name>wangjj</name><age>23</age></Head>");
System.out.println(temp);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public static String formatXml(String str) throws Exception {
Document document = null;
document = DocumentHelper.parseText(str);
// 格式化输出格式
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("gb2312");
StringWriter writer = new StringWriter();
// 格式化输出流
XMLWriter xmlWriter = new XMLWriter(writer, format);
// 将document写入到输出流
xmlWriter.write(document);
xmlWriter.close(); return writer.toString();
}
}
我这里使用是castor生成, 只写了些主要代码。
如何在castor写入序列化的时候格式?
配置文件castor.properties里
org.exolab.castor.indent=true
试试看。