java(Dom4j)与xml配置文件(二)

添加节点

public static void main(String[] args) throws Exception {
/*
* 1、解析xml文档,将xml文档转换Dom4j树 2、利用dom4j树提供的导航方法找到需要修改的节点
* 3、修改指定的节点,或者在指定的节点添加新的节点 4、写入到dom4j树document中,写入修改后的xml文件中
*/
// 创建解析器对象
SAXReader saxReader = new SAXReader();
// 设置过滤空格
saxReader.setStripWhitespaceText(true);
// 装载xml文件并解析
Document doc = saxReader.read(new File("src\\book1.xml"));
// 获取根元素名称
Element root = doc.getRootElement();

//创建一个地址元素
Element address = DocumentHelper.createElement("address");
address.setText("保定");
//获取根元素的子元素的集合
List list = root.elements("book");
Element book2 = (Element) list.get(2);
List list2 = book2.elements();
list2.add(2, address);

OutputFormat format = new OutputFormat(" ", true, "UTF-8");

XMLWriter xw = new XMLWriter(new FileWriter("src\\book1.xml"), format);

xw.write(doc);
xw.close();
}
}

解析xml文档中的元素名称及属性名称

public static void main(String[] args) throws Exception{
//创建解析实体对象
SAXReader saxReader = new SAXReader();
//装载并解析book.xml文件
Document doc = saxReader.read(new File("src\\books.xml"));
//获取根元素
Element root = doc.getRootElement();
//打印根元素名称
System.out.println(root.getName());
//调用显示方法
display(root);
}
//属性解析方法
private static void displayAttbute(Element root) {
//获取根元素的子元素的所有属性的集合
List<Attribute> list = root.attributes();
//遍历集合
for(Attribute entity:list){
System.out.println(entity.getName()+"---"+entity.getValue());
}
}
//标签解析方法
private static void display(Element root) {
//获取根元素的所有子元素的集合
List<Element> list = root.elements();
//遍历集合
for(Element entity:list){
//打印元素的名称
System.out.println(entity.getName());
//调用解析属性的方法
displayAttbute(entity);
//如果entity元素有文本
if(entity.isTextOnly()){
//打印文本
System.out.println(entity.getText());
}else{
//调用自身
display(entity);
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值