【问题标题】:Unwanted newline when removing a childnode from xml从 xml 中删除子节点时不需要的换行符
【发布时间】:2012-10-06 07:47:21
【问题描述】:

我有一个问题,当我从 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 2>
  <childnode 3>
</parent>

在我缺少的父节点上是否有一些函数可以调用?或者 xmls 是否有明确的漂亮打印功能?

【问题讨论】:

标签: java xml newline


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多