将 stax XML 写入字符串
Writing stax XML to String
我正在使用 stax 创建我的网络应用程序所需的 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();
我正在使用 stax 创建我的网络应用程序所需的 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();