zoukankan      html  css  js  c++  java
  • 基于SAX的XML生成方法了

    终于找到了基于SAX的XML生成方法了

     
    最佳方式:
     
    JAXP + SAX + Serialization to servlet output stream : JDK 1.4 compliant - 
    import java.io.*;
    // SAX classes.
    import org.xml.sax.*;
    import org.xml.sax.helpers.*;
    //JAXP 1.1
    import javax.xml.parsers.*;
    import javax.xml.transform.*;
    import javax.xml.transform.stream.*;
    import javax.xml.transform.sax.*;
    [...]
    // PrintWriter from a Servlet
    PrintWriter out = response.getWriter();
    StreamResult streamResult = new StreamResult(out);
    SAXTransformerFactory tf = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
    // SAX2.0 ContentHandler.
    TransformerHandler hd = tf.newTransformerHandler();
    Transformer serializer = hd.getTransformer();
    serializer.setOutputProperty(OutputKeys.ENCODING,"ISO-8859-1");
    serializer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM,"users.dtd");
    serializer.setOutputProperty(OutputKeys.INDENT,"yes");
    hd.setResult(streamResult);
    hd.startDocument();
    AttributesImpl atts = new AttributesImpl();
    // USERS tag.
    hd.startElement("","","USERS",atts);
    // USER tags.
    String[] id = {"PWD122","MX787","A4Q45"};
    String[] type = {"customer","manager","employee"};
    String[] desc = {"Tim@Home","Jack&Moud","John D'oé"};
    for (int i=0;i<id.length;i++)
    {
      atts.clear();
      atts.addAttribute("","","ID","CDATA",id[i]);
      atts.addAttribute("","","TYPE","CDATA",type[i]);
      hd.startElement("","","USER",atts);
      hd.characters(desc[i].toCharArray(),0,desc[i].length());
      hd.endElement("","","USER");
    }
    hd.endElement("","","USERS");
    hd.endDocument();
    [...]
     
  • 相关阅读:
    《代码整洁之道》之四 注释
    《代码整洁之道》之三 函数
    《代码整洁之道》之二 有意义的命名
    《代码整洁之道》
    Hibernate学习笔记
    Struts2复习笔记
    学习Spring必学的Java基础知识
    Eclipse下搭建Maven框架
    onvif实现
    rtmp服务端实现
  • 原文地址:https://www.cnblogs.com/kentyshang/p/620989.html
Copyright © 2011-2022 走看看