java dom4j删除子节点_从XML文件中删除节点(DOM4J,JAVA)

由于与此主题相关的所有其他问题都涉及特定的编程问题(例如,“当我尝试此操作时,我得到NullPointerException”)并且答案正在修复编程错误,以下是对以下问题的简单解决方案:

如何使用DOM4J从XML文件中删除节点?

解决方法:

假设您已经拥有要删除的节点:

Document document = node.getDocument();

node.detach();

XMLWriter writer = new XMLWriter(new FileWriter(document.getPath() + document.getName()), OutputFormat.createPrettyPrint());

writer.write(document);

writer.close();

try-catch语句被省略.

简短说明:

>需要获取文档并将其存储在本地变量中,

因为在分离节点后,您无法获取文档

调用node.getDocument()

>在节点上调用detach()将从文档对象中删除节点(而不是从文件中删除)

>如果您之后不希望文档中有任何空白行,则需要使用OutputFormat.createPrettyPrint()创建XMLWriter

有关更完整的示例,请参阅以下JUnit测试:

@Test

public void dom4j() throws DocumentException, IOException {

String absolutePath = Paths.get(PATH_TO_XML).toAbsolutePath().toString();

SAXReader reader = new SAXReader();

Document document = reader.read(absolutePath);

Node node = document.selectSingleNode(XPATH_TO_NODE);

node.detach();

XMLWriter writer = new XMLWriter(new FileWriter(absolutePath), OutputFormat.createPrettyPrint());

writer.write(document);

writer.close();

}

标签:java,dom4j

来源: https://codeday.me/bug/20190608/1200822.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值