sax主要用于遍历xml,不方便修改
dom是动态的加载整个xml树,可以动态的修改

解决方案 »

  1.   

    那么sax到底可不可以生成xml?
    比如dom可以用ElementImpl等生成xml,sax呢?
      

  2.   

    sax是基于事件驱动步步节点解析整个XML tree
    与DOM
    不同之处是
    DOM于一次全部装载在内存,然后操作,写入写出具体XML的大小操作方式取于你自己看内存的使用SAX还系DOM
      

  3.   

    sax可以修改当前元素,而dom则可以在整个xml文档中来回定位修改。
    sax要生成xml必须有一个基础的xml文件,dom则可以自行创建xml文件。
      

  4.   

    SAX也有对应的SAXTransformerFactory来构建XML对象
    SAXTransformerFactory sf = (SAXTransformerFactory)SAXTransformerFactory.newInstance();

    TransformerHandler th = sf.newTransformerHandler();
    StringWriter sw = new StringWriter();

    th.setResult(new StreamResult(sw));
    th.startDocument();

    th.startElement("The","AA","CC",new AttributesImpl());
    th.endElement("The","AA","CC");
    th.endDocument();
    System.out.println(sw.toString());