TransformerHandler handler = ((SAXTransformerFactory)SAXTransformerFactory.newInstance()).newTransformerHandler();
handler.setResult(new StreamResult(writer));//这里给定输出位置handler.startDocument();
AttributesImpl attrs = new AttributesImpl();

attrs.addAttribute("", "", "attrName", "", "attrValue");handler.startElement("", "", "ROOT", attrs);
handler.endElement("", "", "ROOT");
handler.endDocument();
这样就可以用SAX的方式操作写XML过程了

解决方案 »

  1.   

    关于解析,印象中数据量少用DOM,多则用SAX较好。写XML没怎么接触过,也许这个能帮你:)
    StAX
    http://www.ibm.com/developerworks/cn/xml/x-stax3.html#N101A0
      

  2.   

    这是哪里的类?dom4j??眼生,不过看意思好象就是我要的.
      

  3.   

    javax.xml.transform.sax 
    接口 TransformerHandler????????????/
    不是这个吧..
     String getSystemId() 
              获取要从其解析相对 URL 的基本 ID(URI 或系统 ID)。 
     Transformer getTransformer() 
              获取与此处理程序关联的 Transformer,用于设置参数和输出属性。 
     void setResult(Result result) 
              设置与用于转换的此 TransformerHandler 关联的 Result。 
     void setSystemId(String systemID) 
              设置要从其解析相对 URL 的基本 ID(URI 或系统 ID)。 
    没有你说的方法.
      

  4.   

    是,那个是JDK中自带的类,不需要额外的包的。你用JDK1.4以上都可以编译和使用
      

  5.   

    从接口 org.xml.sax.ContentHandler 继承的方法 
    characters, endDocument, endElement, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping 
      从接口 org.xml.sax.ext.LexicalHandler 继承的方法 
    comment, endCDATA, endDTD, endEntity, startCDATA, startDTD, startEntity 看见了.............
      

  6.   

    TransformerHandler extends ContentHandler的,那些方法在ContentHandler声明
      

  7.   

    那你知道dom4j用什么实现类似功能吗?
      

  8.   

    SAX是只读的,不能用来写XML内容。你接收到的数据是什么格式的?也是XML的?
    可以考虑StAX
      

  9.   

    SAXTransformerFactory 就是用SAX方式进行XML的写操作
      

  10.   

    他说对了可以写的,试试就知道了.
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;import javax.xml.transform.TransformerConfigurationException;
    import javax.xml.transform.TransformerFactoryConfigurationError;
    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 SAXWriteTest { /**
     * @param args
     * @throws FileNotFoundException 
     * @throws IllegalArgumentException 
     * @throws TransformerFactoryConfigurationError 
     * @throws TransformerConfigurationException 
     * @throws SAXException 
     */
    public static void main(String[] args) throws IllegalArgumentException, FileNotFoundException, TransformerConfigurationException, TransformerFactoryConfigurationError, SAXException {
    TransformerHandler handler = ((SAXTransformerFactory)SAXTransformerFactory.newInstance()).newTransformerHandler();
    handler.setResult(new StreamResult(new FileOutputStream("abc.txt")));//这里给定输出位置 handler.startDocument();
    AttributesImpl attrs = new AttributesImpl();
            
    attrs.addAttribute("", "", "attrName", "", "attrValue"); handler.startElement("", "", "ROOT", attrs);
    handler.endElement("", "", "ROOT");
    handler.endDocument(); }}