当前位置: 首页 > 面试题库 >

XML文档转换成字符串?

薛博艺
2023-03-14
问题内容

我已经摆弄了二十多分钟,而我的Google-foo让我失望了。

假设我有一个用Java创建的XML文档(org.w3c.dom.Document):

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document document = docBuilder.newDocument();

Element rootElement = document.createElement("RootElement");
Element childElement = document.createElement("ChildElement");
childElement.appendChild(document.createTextNode("Child Text"));
rootElement.appendChild(childElement);

document.appendChild(rootElement);

String documentConvertedToString = "?" // <---- How?

如何将文档对象转换为文本字符串?


问题答案:
public static String toString(Document doc) {
    try {
        StringWriter sw = new StringWriter();
        TransformerFactory tf = TransformerFactory.newInstance();
        Transformer transformer = tf.newTransformer();
        transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
        transformer.setOutputProperty(OutputKeys.METHOD, "xml");
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");

        transformer.transform(new DOMSource(doc), new StreamResult(sw));
        return sw.toString();
    } catch (Exception ex) {
        throw new RuntimeException("Error converting to String", ex);
    }
}


 类似资料:
  • 问题内容: 我正在从PHP脚本生成XML文档,并且需要转义XML特殊字符。我知道应该转义的字符列表;但是正确的方法是什么? 应该使用反斜杠(')来转义字符还是正确的方法?有内置的PHP函数可以为我处理此问题吗? 问题答案: 使用DOM类生成整个XML文档。它将处理我们甚至不需要关心的编码和解码。 编辑: 这被@Tchalvak批评: DOM对象创建了一个完整的XML文档,它不容易将其自身编码为一个

  • 问题内容: 获取XML文档()的String表示的最简单方法是什么?那就是所有节点都将在一行上。 例如,从 (这只是一个树表示形式,在我的代码中它是一个对象,因此我不能将其视为字符串) 至 谢谢! 问题答案: 假设您的实例是:

  • 我有一堆XML文档(源),需要将它们转换为具有不同结构(目标)的POJO。我的第一个明显的想法是使用JAXB和XSLT的组合。然而,在一些问题上,我不确定这是否合适。 我无法访问源的XSD。 我不需要目标作为XML结构,而只需要作为POJOs。 然后我想创建一个映射表,比如。 然而,这将导致大量“映射”代码,特别是在涉及复杂数据类型的情况下。 你对我如何实施这一点有什么建议吗?

  • 我将XML作为字符串传递给一个方法,并再次将其转换为XML来完成我的工作。 其正常工作正常,但当出现特殊字符时,如<代码> 我的XML字符串: 我的代码是: 错误: “=”是意外标记。预期标记为“;”。第1行,位置150。 完全错误为: 系统Xml。XmlException未由用户代码处理HResult=-2146232000消息=“=”是意外令牌。预期标记为“;”。第1行,位置150。源=系统。

  • 问题内容: 我有一个程序可以从套接字读取xml文档。我将xml文档存储在一个字符串中,我想将其直接转换为Python字典,就像在Django的库中一样。 举个例子: 然后看起来像 问题答案: 这是某人创建的一个很棒的模块。我已经使用过几次了。 http://code.activestate.com/recipes/410469-xml-as- dictionary/ 这是网站上的代码,以防万一链接

  • 问题内容: 我有一个Java程序,旨在考虑xml dom并将其写入字符串。我正在使用这些软件包:和 所以我有,,对象… 有没有办法在一个调用中获取代表我的xml dom的字符串? 问题答案: 它不是一个电话,而是: setOutputProperty方法使字符串输出更漂亮,因此可以将其取出。