码迷,mamicode.com
首页 > 其他好文 > 详细

Dom4j框架的使用

时间:2015-04-30 14:20:38      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。我们说Dom4j是一个框架,框架就是很多很多类的集合,它整合了DOM思想,将文档中的所有内容创建成对象放到内存中,利用事件驱动来对XML实现不同的操作。


    1.Dom4j的引入


    使用Dom4j时,必须首先引入dom4j.jar,如果使用到了它的拓展功能,还需要引入jaxen-1.1-beta-6.jar。


   2.对XML的操作


    要想实现对XML的操作,首先必须读取到XML文档:

    

	SAXReader reader = new SAXReader();
	Document document = reader.read(new File("src/student.xml"));

    ①查询

    

	//1获得根元素
	Element root =  document.getRootElement();
		
	//2遍历根元素下student的子元素
	Iterator<Element> it = root.elementIterator("student");
	while(it.hasNext()){
		Element studentEle = it.next();
		//3获得number属性
		String number =studentEle.attributeValue("number");			
		String name = studentEle.elementText("name");			
		String age = studentEle.elementText("age");			
		String sex = studentEle.elementText("sex");		
	}

    

    ②添加


	//1获取students根元素
	Element root = document.getRootElement();
	//2添加学生元素
	Element student = root.addElement("student").addAttribute("number", "ITCAST_003");
	//3增加子元素
	student.addElement("name").addText("Fanny");
	student.addElement("age").addText("23");
	student.addElement("sex").addText("female");
	//4将新添加的写回到文档中
		
	//1>创建格式化器
	OutputFormat format = OutputFormat.createPrettyPrint();
	//2>创建写入器
	XMLWriter writer = new XMLWriter(new FileWriter("src/studentcopy.xml"),format);
	//3>写入文件
	writer.write(document);
	//4>关闭资源
	writer.close();

    ③删除

    

	//1.获取根元素
	Element root = document.getRootElement();

	//2.遍历student的子元素

	//2.1>方法一
	Iterator<Element> it = root.elementIterator("student");
	while(it.hasNext()){
	Element studentEle = it.next();
	String number = studentEle.attributeValue("number");		
		if(number == "jerry"){
			it.remove();
		}
		}
	//2.2方法二
	List<Element> list =  root.elements("student");
	for(int i = 0; i < list.size(); i++){
		Element studentEle = list.get(i);
		//3.判断学号是否等于被删除学生,是的话就执行删除
		if("itcast_0001".equals(studentEle.attribute("number"))){
			studentEle.getParent().remove(studentEle);
			break;
		}
	}		
	//3.保存到文档
	OutputFormat format = OutputFormat.createPrettyPrint();
	XMLWriter writer = new XMLWriter(new FileOutputStream("src/studentDel.xml"),format);		
	writer.write(document);
	writer.close();

    总结:

    在学习Dom4j的过程中,感觉很像学习js的时候对DOM的操作,实际上,Dom4j也正是在DOM的基础上实现对XML的操作的,所以这一块的学习一定要和之前的HTML DOM结合起来,会事半功倍的。    


Dom4j框架的使用

标签:

原文地址:http://blog.csdn.net/zjx86320/article/details/45393301

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!