XML修改节点值

Posted 52liming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML修改节点值相关的知识,希望对你有一定的参考价值。

基于DOM4J

  • 先获取根节点 doc.getRootElement()
  • 然后获取需要修改的节点 doc.getRootElement().node(int)
  • 重新赋值 doc.getRootElement().node(int).setText("str")
package com.xiaoming;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

public class MyTest {

    public static void main(String[] args) {
        
        Document doc = DocumentHelper.createDocument();
        Element root = doc.addElement("root");
        
        root.addElement("code").addText("1");
        root.addElement("msg").addText("好消息");
        System.out.println("前:" + doc.asXML());
        
        doc.getRootElement().node(0).setText("0");
        doc.getRootElement().node(1).setText("什么好消息啊");
        System.out.println("后: " + doc.asXML());
        
    }
}

控制台:

前:<?xml version="1.0" encoding="UTF-8"?>
<root><code>1</code><msg>好消息</msg></root>
后: <?xml version="1.0" encoding="UTF-8"?>
<root><code>0</code><msg>什么好消息啊</msg></root>

xml 去掉头部

今天把xml以String形式 ( doc.asXML() ) 保存到json中, 但是 头部感觉挺多余,
这时可以直接用去根节点的方法

document.getRootElement().asXML()

以上是关于XML修改节点值的主要内容,如果未能解决你的问题,请参考以下文章

XML修改节点值

java如何读取xml节点元素值?

将字符串 XML 片段转换为 Java 中的文档节点

请问用python怎么修改xml的节点值?

在 Groovy 中将字符串 XML 片段转换为文档节点

【求助】Dom4j 生成xml,节点增加属性时,属性值中有特殊字符,如何做到不转义