版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29331365/article/details/89922411
/*
* 修改 属性值、文本
*/
@Test
public void test3() throws Exception{
// 读取 XML 文档,返回 Document
Document doc = new SAXReader().read("./src/contact.xml");
/*
* 修改属性值:
* 方案一:1、得到标签对象;2、得到属性对象;3、修改属性值
*/
Element contactElem = doc.getRootElement().element("contact"); // 1、得到标签对象
Attribute attr = contactElem.attribute("id"); // 2、得到属性对象
attr.setValue("003"); // 3、修改属性值
/*
* 修改属性值:
* 方案二:通过增加同名属性的方法修改属性值
*/
contactElem.addAttribute("id", "004");
/*
* 修改文本:1、得到标签对象;2、修改文本
*/
Element nameElement = doc.getRootElement().element("contact").element("name"); // 1、得到标签对象
nameElement.setText("王五"); // 2、修改文本
// 设置写出的位置
FileOutputStream out = new FileOutputStream("D:/contact.xml");
// 设置输出的格式
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
// 创建 XML 输出对象
XMLWriter writer = new XMLWriter(out, format);
// 输出 XML 文档
writer.write(doc);
// 关闭流
writer.close();
}
其中 ./src/contact.xml 原文件为:
<?xml version="1.0" encoding="utf-8"?>
<contactList>
<contact id="001" name="eric">
<name>张三</name>
<age>20</age>
<phone>134222223333</phone>
<email>[email protected]</email>
<qq>432221111</qq>
</contact>
<contact id="002">
<name>李四</name>
<age>20</age>
<phone>134222225555</phone>
<email>[email protected]</email>
<qq>432222222</qq>
</contact>
<abc></abc>
</contactList>
修改之后的 D:/contact.xml 文件为:
<?xml version="1.0" encoding="utf-8"?>
<contactList>
<contact id="004" name="eric">
<name>王五</name>
<age>20</age>
<phone>134222223333</phone>
<email>[email protected]</email>
<qq>432221111</qq>
</contact>
<contact id="002">
<name>李四</name>
<age>20</age>
<phone>134222225555</phone>
<email>[email protected]</email>
<qq>432222222</qq>
</contact>
<abc/>
</contactList>
Dom4J下载地址:https://download.csdn.net/download/qq_29331365/11164486