【问题标题】:How to get the full content of an XML file as a String using XmlStreamReader?如何使用 XmlStreamReader 将 XML 文件的全部内容作为字符串获取?
【发布时间】:2015-08-08 07:12:05
【问题描述】:

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

有没有办法在不构建另一个 XmlStreamReader 或在 file 上使用另一个流的情况下获取 XML 内容?

【问题讨论】:

    标签: java string file xml-parsing xmlstreamreader


    【解决方案1】:
    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();
    }
    

    【讨论】:

    • 有没有更好的方法来实现这一点?我们使用相同的方法,但使用此转换将 20 MB 的文件分解为 400 MB。如果有更好的解决方案会有所帮助。
    猜你喜欢
    • 2013-06-18
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多