java sax 创建xml_SAX方式生成xml文件的简单实例

package buildxml.sax;

import java.io.File;

import javax.xml.transform.OutputKeys;

import javax.xml.transform.Result;

import javax.xml.transform.Transformer;

import javax.xml.transform.TransformerConfigurationException;

import javax.xml.transform.sax.SAXTransformerFactory;

import javax.xml.transform.sax.TransformerHandler;

import javax.xml.transform.stream.StreamResult;

import org.xml.sax.SAXException;

import org.xml.sax.helpers.AttributesImpl;

public class SaxBuildXml {

public static void main(String[] args) {

try {

SAXTransformerFactory factory = (SAXTransformerFactory)SAXTransformerFactory.newInstance();

TransformerHandler transFormerHandler = factory.newTransformerHandler();

Transformer transformer = transFormerHandler.getTransformer();

transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");

transformer.setOutputProperty(OutputKeys.INDENT, "yes");

Result result = new StreamResult(new File("books_sax.xml"));

transFormerHandler.setResult(result);

transFormerHandler.startDocument();

transFormerHandler.startElement(null, null, "books", null);

AttributesImpl attr = new AttributesImpl();

attr.addAttribute(null, null, "id", null, "1");

transFormerHandler.startElement(null, null, "book", attr);

transFormerHandler.startElement(null, null, "name", null);

transFormerHandler.characters("书名1".toCharArray(), 0, "书名1".length());

transFormerHandler.endElement(null, null, "name");

transFormerHandler.startElement(null, null, "publish", null);

transFormerHandler.characters("出版社1".toCharArray(), 0, "出版社1".length());

transFormerHandler.endElement(null, null, "publish");

transFormerHandler.startElement(null, null, "time", null);

transFormerHandler.characters("2015-10-30".toCharArray(), 0, "2015-10-30".length());

transFormerHandler.endElement(null, null, "time");

transFormerHandler.endElement(null, null, "book");

transFormerHandler.endElement(null, null, "books");

transFormerHandler.endDocument();

} catch (TransformerConfigurationException | SAXException e) {

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值