SAX生成XML准备工作
SAX生成xml文件
SAXTransformerFactory tff = (SAXTransformerFactory)SAXTransformerFactory.newInstance(); TransformerHandler handler = tff.newTransformerHandler; Transformer tr = handler.getTransformer(); //tr.setOutputProperty(OutputKeys.ENCONDING, "UTF-8"); Result result = new StreamResult(new FileOutStream(f)); handler.setResult(result); handler.startDocument(); ... ...... handler.endDocument();
创建一个SAXTransformerFactory对象:SAXTransformerFactory tff=(SAXTransformerFactory)SAXTransformerFactory.newInstance();
创建TransformerHandler对象:TransformerHandler handler=tff.newTransformerHandler();
创建Transformer对象:Transformer tf=handler.getTransformer();
设置Transformer对象生成XML文件格式:tr.setOutputProperty(String name,String value);
将XML文件与handler对象关联:handler.setResult(new StreamResult(new FileOutputStream(File file)));
SAX方式生成xml文件的准备工作:
// 1.创建一个TransformerFactory类的对象
SAXTransformerFactory tff = (SAXTransformerFactory) SAXTransformerFactory
.newInstance();
try {
// 2.通过SAXTransformerFactory对象创建一个TransformerHandler对象
TransformerHandler handler = tff.newTransformerHandler();
// 3.通过handler对象创建一个Transformer对象
Transformer tr = handler.getTransformer();
// 4.通过Transformer对象对生成的xml文件进行设置
// 设置xml的编码
tr.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
// 设置xml的“是否换行”
tr.setOutputProperty(OutputKeys.INDENT, "yes");
// 5.创建一个File对象用于接收写入的操作
File f = new File("src/res/newbooks.xml");
if (!f.exists()) {
f.createNewFile();
}
// 6.创建Result对象,并且使其与handler关联
Result result = new StreamResult(new FileOutputStream(f));
handler.setResult(result);