【问题标题】:is there a simple way to convert my XML object back to String in java?有没有一种简单的方法可以将我的 XML 对象转换回 java 中的字符串?
【发布时间】:2010-10-05 05:43:11
【问题描述】:

我有一个需要转换为字符串的 xml 文档对象。

有这么简单的方法吗?

【问题讨论】:

  • 你使用的是什么 API,输入的是那个对象?

标签: java xml


【解决方案1】:

我将其放在评论中,但后来认为如果我将其添加为答案,以供将来参考,人们可能会发现它更容易。所以... Joshua.ewer 的回答是正确的,但需要 xalan-2.7.0.jar。

【讨论】:

    【解决方案2】:

    这是我从附近的图书馆中提取的一些快速代码。可能想打扮一下,但它有效:

    import java.io.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;
    
    public String TransformDocumentToString(Document doc)
    {
        DOMSource dom = new DOMSource(doc);
        StringWriter writer = new StringWriter();  
        StreamResult result = new StreamResult(writer);
    
        TransformerFactory factory = TransformerFactory.newInstance();
        Transformer transformer = factory.newTransformer();
        transformer.transform(dom, result);
    
        return writer.toString();
    } 
    

    编辑:正如评论者之前注意到的,我有一个语法错误。不得不拔出一些敏感的线,这样我就不会被罐头并以错误的顺序放回它们。谢谢! ;-)

    【讨论】:

    • 优秀...但是应该注意的是,您可能(就像我一样)拥有过时版本的 xalan.jar,使用它您将在 TransformerFactor.newInstance() 调用中失败(即使它不会在 Eclipse 中产生任何错误)。 xalan-2.7.0.jar 是正确的版本。
    【解决方案3】:

    你可以使用 Dom4J:

    OutputFormat format = OutputFormat.createPrettyPrint();
    XMLWriter writer = new XMLWriter( System.out, format );
    writer.write( document );
    

    【讨论】:

      猜你喜欢
      • 2010-09-17
      • 1970-01-01
      • 2018-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-25
      • 2011-01-19
      相关资源
      最近更新 更多