使用dom4j修改XML文件内容

本文介绍如何利用Java库dom4j对XML文件进行多种修改操作,包括更改属性值、添加新节点及属性、以及删除指定节点等。示例代码展示了具体的实现步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、使用dom4j修改xml文件的属性、节点
public static int ModiXMLFile(String filename,String newfilename){
/** 返回操作结果, 0表失败, 1表成功*/
int intReturn = 0;

try {
SAXReader reader = new SAXReader();
Document document = reader.read(new File(filename));

/** 修改内容之一: 如果book节点中show属性的内容为yes,则修改成no*/
/** 先用xpath查找对象*/
List list = document.selectNodes("/books/book/@show");
Iterator it = list.iterator();
while(it.hasNext()){
Attribute attr = (Attribute)it.next();
if(attr.getValue().equals("yes")){
attr.setValue("no");
}
}

/**
* 修改内容之二: 把owner项内容改为Tshinghua
* 并在owner节点中加入date节点,date 节点的内容为2004-09-11,还为date 节点添加一个属性type
*/

list = document.selectNodes("/books/owner");
it = list.iterator();
if(it.hasNext()){
Element owner = (Element)it.next();
owner.setText("Tshinghua");
Element dateElement = owner.addElement("date");
dateElement.setText("2010-06-03");
dateElement.addAttribute("type", "你好");
}

/** 修改内容之三: 若title内容为Dom4j Tutorials,则删除该节点*/
list = document.selectNodes("/books/book");
it = list.iterator();
while(it.hasNext()){
Element titleElement = (Element)it.next();
if(titleElement.getText().equals("threw")){
document.remove(titleElement);
}
}

OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
XMLWriter writer = new XMLWriter(new FileWriter(new File(newfilename)),format);
writer.write(document);
writer.close();

intReturn = 1;
} catch (Exception e) {
e.printStackTrace();
}

return intReturn;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值