Java 从xml中删除子节点时不需要的换行符

Java 从xml中删除子节点时不需要的换行符,java,xml,newline,Java,Xml,Newline,我有一个问题,当我从xml中删除一个子节点时,xml中会有一个空行。该节点已正确删除,但我不想要一个空行,我不知道该空行来自何处,因为我没有编写xml,但Javas Transformer正在为我做这件事: DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); TransformerFactory tf = TransformerFactory.newInstance(); Transformer t; Docume

我有一个问题,当我从xml中删除一个子节点时,xml中会有一个空行。该节点已正确删除,但我不想要一个空行,我不知道该空行来自何处,因为我没有编写xml,但Javas Transformer正在为我做这件事:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t;
DocumentBuilder db;
db = dbf.newDocumentBuilder();
Document doc = db.parse(myXml);

//get the node I want to remove
Node n = getMyNodeToRemove(doc);
n.getParentNode().removeChild(n);

//write the xml
t = tf.newTransformer();
DOMSource src = new DOMSource(doc);
StreamResult result = new StreamResult(xml);
t.transform(src, result);
我想要编辑的xml实际上非常简单,如下所示:

<parent>
  <childnode 1>
  <childnode i want to remove>
  <childnode 2>
  <childnode 3>
</parent>
<parent>
  <childnode 1>

  <childnode 2>
  <childnode 3>
</parent>

移除子对象后,其外观如下所示:

<parent>
  <childnode 1>
  <childnode i want to remove>
  <childnode 2>
  <childnode 3>
</parent>
<parent>
  <childnode 1>

  <childnode 2>
  <childnode 3>
</parent>

但我想要的是:

<parent>
  <childnode 1>
  <childnode 2>
  <childnode 3>
</parent>


我缺少的父节点上是否有可调用的函数?还是有一个显式的XML漂亮打印功能?

程序员:谢谢你的帮助。
我现在只是删除了空的textnodes,它就可以工作了——但我不明白为什么一开始创建它们对我来说似乎是一个糟糕的解析。

您的xml示例和您试图删除的节点会很有帮助。“.我不想要一个空行”安德鲁:好吧,我写错了:我不在乎空行,但不管是什么原因,其他人都会在乎。。。