微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。