* 使用dom4j解析xml 实例在java520里面 TextDom4j
		* dom4j,是一个组织,针对xml解析,提供解析器dom4j
		* dom4j不是javase的一部分,想要使用第一步需要怎么做
			- 导入dom4j提供jar包
			- 常见一个文件夹lib
			- 复制jar包到lib下面
			- 邮件点击jar包.builb path -- add to bulildpath
			- 看到jar包变成奶瓶装  表示导入成功
		* 得到document使用
			*  SAXReader reader = new SAXReader();
			   Document document = reader.read(url);
			*  document父节点是node找不到方法去弄得中去找.
			
			*document里面的方法getRootElement():获取根节点,返回的是Element
			*Element也是一个接口
				- Element和Node里面的方法
				** getParent():获取父节点
				** addElement:获取标签
				** element(qname);获取p1下面所有叫qname的一个标签
				** elements(qname)获取p1下面的所有qname标签
				** elements();获取下面所有标签
* 使用dom4j查询元素;
	* 查询所有那么元素里面的值
		/*
		  创建解析器
		  得到document
		  得到根节点
		  得到 多有p1标签
			
		  得到name
		  得到name里面的值
		*/
		//得到document
		SAXReader saxReader = new SAXReader();
		Document document = saxReader.read("E:/java520/TextDom4j/src/cn/Dom4j/1.xml");
		//得到root节点
		 Element root = document.getRootElement();
		//获取p1
		@SuppressWarnings("unchecked")
		List<Element> list = root.elements("p1");
		//遍历函数
		for (Element element1 : list) {
			Element name =  element1.element("name");
			String str = name.getText();
			System.out.println(str);
		}
	
	* 使用dom4j添加标签,如添加<sex>中国</sex>
		//利用sax得到document
		SAXReader reader = new SAXReader();
		Document doc = reader.read("E:/java520/TextDom4j/src/cn/Dom4j/1.xml");
		//得到根节点
		Element root = doc.getRootElement();
		//得到第一个p1
		Element p = root.element("p1");
		//在p1下边添加元素
		Element xin = p.addElement("sex");
		//在xin下面添加文本
		xin.setText("中国");
		
		//回写xml
		OutputFormat format = OutputFormat.createPrettyPrint();//漂亮的格式
		XMLWriter xml = new XMLWriter(new FileOutputStream("E:/java520/TextDom4j/src/cn/Dom4j/1.xml"), format);//利用写入流将文件写入到doc中
		xml.write(doc);//再将doc中文件写入源文件中
		xml.close();//关流
	* 在特定的文值添加元素:入在第一个p1下面的age标签之前添加<school>学校</school>
		* 创建解析器
		* 得到document
		* 得到根节点
		* 获取第一个p1
		* 获取p1下面的所有元素
			** elements()方法,返回list集合
			** 使用list里面的方法.在特定位置添加元素
			** 创建元素 documentHelper.createElement("school");
				*** add(int index,E element0
				- 第一个参数是文职下标,从0开始
				- 一二个参数是要添加的元素
		* 回写xml
		public static void tianjia() throws Exception {
		//利用sax获取document文件
		SAXReader reader = new SAXReader();
		Document document = reader.read("E:/java520/TextDom4j/src/cn/Dom4j/1.xml");
		//获取root节点
		Element	root = document.getRootElement();
		//得到第一个p1
		List<Element> p1 = root.elements();
		//创建元素
		Element school = DocumentHelper.createElement("school");
		//给school创建文本
		school.setText("学校");
		//利用javase中的list添加方法添加
		p1.add(1, school); 
		//回写xml
		OutputFormat format = OutputFormat.createPrettyPrint();
		XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("E:/java520/TextDom4j/src/cn/Dom4j/1.xml"), format);
		xmlWriter.write(document);
		xmlWriter.close();
	* 使用dom4j修改
		* 创建解析器
		* 得到document
		* 得到根节点
		* 获取第一个p1
		* 获取p1下面的要修改的元素
			*.element("**")
		* 修改 使用setText("修改后的内容")方法
		* 回写xml
	* 使用dom4j实现删除节点的操作
		* 创建解析器
		* 得到document
		* 得到根节点
		* 获取第一个p1
		* 获取p1下面的要修改的元素
			*.element("**")
		* 利用父节点删除节点
			* 获取父节点 *.getParent();
			* *.remover(*);
		* 回写xml 
	* 使用dom4j获取属性的操作	
		* 得到document
		* 得到根节点
		* 得到第一个p1元素
		* 得到p1里面的属性值
			- String value = p1.attributeValue("id1");
	*  使用dom4j支持xpath的操作
		* 可以直接取到某个元素
		1. /AAA/DDD/BBB: 表示一层一层的AAA下面的DDD下面的BBB
		2. //BBB: 表示和这个名称相同,只要是名称为BBB的都得到:
		3. /*: 表示所有的都得到:
		4.	BBB[1]:表示BBB第一个元素:
			BBB[last()]:表示BBB最后一个元素
		5. //BBB[@id]: 表示只要BBB上边有id属性的都得到
		6. //BBB[@id="b1"]: 表示元素名称是BBB,在BBB上面所有属性id,并且id的属性值为b1;
	* 使用dom4j支持xpath的具体操作
	 ** 默认的情况下,dom4j不支持xpath 
	 ** 如果想要zaidom4j里面使用xpath
		* 第一步需要引入xpath的jar包;dom4j-1.6.1/lib/jaxen-1.1-beta-6.jar包 
	 ** 在dom4j里面提供了两个方法啊,用来支持xpath
		* selectNodes("xpath表达式")
			- 获取多个节点
		* selectSingleNode("xpath表达式")
			- 获取单一节点
		/*
			/**
		 * 得到document
		 * 使用selectNode("xpath")方法得到name
		 */
		Document document = Dom4jutils.getDocument(Dom4jutils.PATH);
		List<Node> list = document.selectNodes("//name");
		for (Node node : list) {
			String str = node.getText();
			System.out.println(str);
		}
		*/
	* 使用xpath实现:获取第一个p1下面的name值
		* //p1[@id1=‘aaa‘]/name
		* 使用到selectSingleNode("//p1[@id1=‘aaa‘]/name")
		**方法步骤
			/**
			 * 得到document 
			 * 利用xpath的到p1下面的值
			 * */
			Document document = Dom4jutils.getDocument(Dom4jutils.PATH);
			Node name = document.selectSingleNode("//p1[@id=‘aaa‘]/name");
			String str = name.getText();
			System.out.println(str);
	* 实现简单的学生管理系统;
		* 使用xml当做数据,存储学生信息:
		* 创建xml文件,做学生信息:
原文:http://www.cnblogs.com/czb2580/p/5878874.html