当前位置: 首页 > 知识库问答 >
问题:

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

东方辉
2023-03-14

我有一个问题,当我从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的显式漂亮打印函数?

共有1个答案

岳泳
2023-03-14

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

 类似资料:
  • 在本章中,我们将学习XML DOM删除节点的操作。删除节点操作是指从文档中删除指定的节点。实现此操作以移除诸如文本节点,元素节点或属性节点之类的节点。 以下是用于删除节点操作的方法 - 方法 方法 1. removeChild()方法 方法从子列表中删除指示的子节点,并将其返回。 删除子节点等同于删除文本节点。 因此,删除子节点会删除与其关联的文本节点。 语法 使用方法的语法如下 - 其中, -

  • 我目前正在为XML文档流开发一个自定义管道组件,其中根节点和该根节点的第一个子节点需要剥离,只剩下第二个子节点(现在是新的根节点)。 我正在使用XDocumt作为XML文档的容器类。我写了一些代码,获取第二个子节点,并创建一个新的XML文档,将该节点作为根节点,从而从图片中删除两个不需要的节点。 但是当我在Biztalk中测试这个设置时,我只得到一个空文档作为响应。它似乎创建了一个空的XML文档,

  • 我正在尝试处理这个XML文件,我想根据最新的节点值删除所有匹配的节点。在以下示例中,最新节点值为“${DELETE}”,最新节点值将始终为“${DELETE}”,并且该节点将始终位于XML文件的底部。 示例: 预期产出为:

  • 我尝试使用下面的代码从XML下面删除scheme-details1,但无法删除。 其中是。 以下是我的XML响应:-

  • 本文向大家介绍Javascript removeChild()删除节点及删除子节点的方法,包括了Javascript removeChild()删除节点及删除子节点的方法的使用技巧和注意事项,需要的朋友参考一下 下面给大家介绍Javascript removeChild()删除节点的方法,具体详情如下所示: 在Javascript中,只提供了一种删除节点的方法:removeChild()。 rem

  • 如何从通过JAXB生成的XML中删除不需要的根元素? 我需要的是 以下是Pojo类的代码: 有没有办法删除Employee类中出现的Emp根元素? 我尝试在员工类中使用XMLRootElement(name="),但它并没有帮助我删除Emp标签。