编程语言
首页 > 编程语言> > java – 将stax XML写入String

java – 将stax XML写入String

作者:互联网

我正在使用stax来创建我的Web应用程序所需的XML文档.
目前我在这样的文件中创建我的XML:

    XMLOutputFactory factory = XMLOutputFactory.newInstance();
    String output=null;
     try 
     {
             XMLStreamWriter writer = factory.createXMLStreamWriter(
                     new FileWriter("C:\\Junk\\xmlDoc.xml"));
             writer.writeStartDocument();
             writer.writeStartElement("TagName1");
             writer.writeAttribute("AAA", "BBB");
             writer.writeEndElement();
             writer.writeEndDocument();             
             writer.flush();
             writer.close();
     } 
     catch (XMLStreamException e) 
     {
         e.printStackTrace();
     } 
     catch (IOException e) 
     {      
        e.printStackTrace();
     } 

但是xml文件不是我想要的,我需要在String中创建我的XML.
不幸的是我无法弄清楚我需要哪个OutputStream对象而不是FileWriter

解决方法:

你需要一个java.io.StringWriter:

与FileWriter一样,它派生自Writer,可以传递给factory.createXMLStreamWriter.完成后,您可以将书面内容转换为字符串.

StringWriter stringOut = new StringWriter();
XMLStreamWriter writer = factory.createXMLStreamWriter(stringOut);
... // write XML

String output = stringOut.toString();

标签:java,xml,java-io,stax
来源: https://codeday.me/bug/20190611/1220519.html