java - 从 xml 中删除子节点时出现不需要的换行符

标签 java xml newline

我有一个问题,当我从 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>

删除 child 后,它看起来像这样:

<parent>
  <childnode 1>

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

但我想要的是这样的:

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

是否有一些函数可以调用我缺少的父节点?或者是否有针对 xml 的显式 pretty-print 函数?

最佳答案

MadProgrammer:谢谢你的帮助。 我现在只是删除空文本节点并且它可以工作 - 但我不明白为什么首先创建它们对我来说似乎是糟糕的解析。

关于java - 从 xml 中删除子节点时出现不需要的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12910830/

相关文章:

java - 使用 Internet Explorer 11 运行 64 位 Java

java - Spring的事务到线程

java - 无法在 Android Activity 布局 XML 文件中实例化自定义类

java - 图形布局和运行时的奇怪问题

c++ - printing cout << '\n' 乱码输出可以吗?

java - 在 Reactor 应用程序中测试对 Flux 的背压应用

android - 解析 XML 时出错 : mismatched tag

jquery - 文本区域中的新行将转换为 <br/>

javascript - 包含换行符的 PHP 字符串会导致打印 Javascript 时出现问题

java - 如何使用Spring boot将YML文件中的复杂类型映射到java对象?