有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在Java中向XML输出添加回车符

在Java中,如何在生成的XML文件中输出回车符,使所有内容不在一行上

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
Element root = doc.createElement("requests");
doc.appendChild(root);
root.appendChild(request);

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File(file));
transformer.transform(source, result);

上面的代码创建了一个XML文件,但都在一行中


共 (3) 个答案

  1. # 1 楼答案

    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
    transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
    

    第一行添加缩进,第二行设置缩进值

  2. # 2 楼答案

    这应该可以解决这个问题

    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
    
  3. # 3 楼答案

    在我花了几个小时研究这个问题之后,我终于可以解决我需要的问题(包括一条新的线路)。之前的答案对我不适用

    这样,我就可以添加一个新的行: org.w3c.dom.Text nodeSeparator = doc.createTextNode("\n\n ");

    然后,将其插入到所需节点之前: parentNode.insertBefore(nodeSeparator, foundNode);