如何使用xmlStreamReader将XML文件的完整内容作为String获取?

M. *_*awy 4 java string file xml-parsing xmlstreamreader

我是一个应用程序的一部分,我可以访问xmlStreamReader它,表示需要完全读入的XML文件String.

有没有办法获得XML内容而无需xmlStreamReader文件上构建另一个或使用另一个流?

Ale*_*lex 10

import javax.xml.stream.XMLStreamReader;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.stax.StAXSource;
import javax.xml.transform.stream.StreamResult;

private String getOuterXml(XMLStreamReader xmlr) throws TransformerConfigurationException,
    TransformerFactoryConfigurationError, TransformerException
{
    Transformer transformer = TransformerFactory.newInstance().newTransformer();
    StringWriter stringWriter = new StringWriter();
    transformer.transform(new StAXSource(xmlr), new StreamResult(stringWriter));
    return stringWriter.toString();
}
Run Code Online (Sandbox Code Playgroud)