【学习笔记】JAVA之使用dom4j对xml文件解析

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">一、导入dom4j-1.6.1.jar包</span>

Eclipse项目下新建文件夹lib,将jar包复制到文件夹里,右键-->build path-->add to build path


一、测试代码编写

在指定节点中增加子元素

@Test
	public void testAdd() throws Exception {
		SAXReader reader = new SAXReader();
		Document dom = reader.read("book.xml");
		Element root = dom.getRootElement();
		List<Element> list = root.elements("书");
		Element specialPrice = DocumentHelper.createElement("特价");
		specialPrice.setText("35.00元");
		list.get(0).add(specialPrice);
		XMLWriter writer = new XMLWriter(new FileOutputStream("book.xml"), 
				OutputFormat.createPrettyPrint());
		writer.write(dom);
		writer.close();
	}

在指定节点中删除子元素

@Test
	public void testDel() throws Exception {
		SAXReader reader = new SAXReader();
		Document dom = reader.read("book.xml");
		Element root = dom.getRootElement();
		List<Element> list = root.elements("书");
		Element specialPrice = list.get(0).element("特价");
		list.get(0).remove(specialPrice);
		XMLWriter writer = new XMLWriter(new FileOutputStream("book.xml"), 
				OutputFormat.createPrettyPrint());
		writer.write(dom);
		writer.close();
	}
在指定节点中修改子元素
@Test
	public void testModify() throws Exception{
		SAXReader reader = new SAXReader();
		Document dom = reader.read("book.xml");
		Element root = dom.getRootElement();
		List<Element> list = root.elements();
		list.get(0).element("特价").setText("32.00元");
		XMLWriter writer = new XMLWriter(new FileOutputStream("book.xml"),
				OutputFormat.createPrettyPrint());
		writer.write(dom);
		writer.close();
	}
查找节点内容

@Test
	public void testQuary() throws Exception {
		SAXReader reader = new SAXReader();
		Document dom = reader.read("book.xml");
		Element root = dom.getRootElement();
		List<Element> list = root.elements("书");
		String bookName = list.get(1).element("书名").getText();
		System.out.println(bookName);
	}
节点中增加、删除属性

@Test
	public void testAddAtrr() throws Exception{
		SAXReader reader = new SAXReader();
		Document dom = reader.read("book.xml");
		Element root = dom.getRootElement();
		List<Element> list = root.elements();
		list.get(0).addAttribute("语言", "汉语");
		
		XMLWriter writer = new XMLWriter(new FileOutputStream("book.xml"),
				OutputFormat.createPrettyPrint());
		writer.write(dom);
		writer.close();
	}
	
	@Test
	public void testDelAttr() throws Exception {
		SAXReader reader = new SAXReader();
		Document dom = reader.read("book.xml");
		Element root = dom.getRootElement();
		List<Element> list = root.elements();
		Attribute attr = list.get(0).attribute("语言");
		attr.getParent().remove(attr);
		XMLWriter writer = new XMLWriter(new FileOutputStream("book.xml"),
				OutputFormat.createPrettyPrint());
		writer.write(dom);
		writer.close();
	}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值