xml与Java相互转换的例子.doc_第1页
xml与Java相互转换的例子.doc_第2页
xml与Java相互转换的例子.doc_第3页
xml与Java相互转换的例子.doc_第4页
xml与Java相互转换的例子.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

package util;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.ArrayList;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;import entity.Emp;/* *员工XML解析器 */public class EmpXmlParser /* * 1.写XML,将员工数据写入到emp.xml中 */public static void emp2xml() throws Exception /模拟员工数据Emp e = new Emp();e.setId(1);e.setName(张三);e.setAge(25);e.setSalary(6000.00);e.setType(simple);/创建文档对象Document doc = DocumentHelper.createDocument();/创建根元素Element root = doc.addElement(emp);/在根元素下创建各子元素root.addElement(id).addText(e.getId().toString();root.addElement(name).addText(e.getName();root.addElement(age).addText(e.getAge().toString();root.addElement(salary).addText(e.getSalary().toString();/创建根元素的属性root.addAttribute(type, e.getType();/将文档对象输出XMLWriter writer = new XMLWriter(new FileOutputStream(d:xmlemp.xml),OutputFormat.createPrettyPrint();writer.write(doc);writer.close();/* * 2.读取XML,将数据写入Emp对象中 */public static void xml2emp() throws Exception SAXReader reader = new SAXReader();/读取xmlDocument doc = reader.read(new FileInputStream(d:xmlemp.xml);Emp e = new Emp();/读取根元素Element root = doc.getRootElement();/读取根元素的下级元素e.setId(Integer.valueOf(root.elementText(id);e.setName(root.elementText(name);e.setAge(Integer.valueOf(root.elementText(age);e.setSalary(Double.valueOf(root.elementText(salary);/读取根元素的属性e.setType(root.attributeValue(type);System.out.println(ID: + e.getId();System.out.println(Name: + e.getName();System.out.println(Age: + e.getAge();System.out.println(Salary: + e.getSalary();System.out.println(Type: + e.getType();/* * 将一组Emp数据写入到一个XML文件中 */public static void emps2xml() throws Exception List emps = new ArrayList();Emp e1 = new Emp();e1.setId(1);e1.setName(张三);e1.setAge(25);e1.setSalary(6000.00);e1.setType(simple);emps.add(e1);Emp e2 = new Emp();e2.setId(2);e2.setName(李四);e2.setAge(26);e2.setSalary(7000.00);e2.setType(simple);emps.add(e2);Emp e3 = new Emp();e3.setId(3);e3.setName(王五);e3.setAge(27);e3.setSalary(8000.00);e3.setType(Leader);emps.add(e3);Document doc = DocumentHelper.createDocument();/创建根元素Element root = doc.addElement(emps);for(Emp emp : emps)Element parent = root.addElement(emp);parent.addElement(id).addText(emp.getId().toString();parent.addElement(name).addText(emp.getName();parent.addElement(age).addText(emp.getAge().toString();parent.addElement(salary).addText(emp.getSalary().toString();parent.addAttribute(type, emp.getType();/输入到XMLXMLWriter writer = new XMLWriter(new FileOutputStream(d:xmlemps.xml),OutputFormat.createPrettyPrint();writer.write(doc);writer.close();/* * 4.从XML中读取一组Emp数据 */public static void xml2emps() throws Exception SAXReader reader = new SAXReader();List emps = new ArrayList();/读取XML文件Document doc = reader.read(new FileInputStream(d:xmlemps.xml);/读取根元素empsElement root = doc.getRootElement();List elems = root.elements(emp);for(Element elem : elems)Emp e = new Emp();e.setId(Integer.valueOf(elem.elementText(id);e.setName(elem.elementText(name);e.setAge(Integer.valueOf(elem.elementText(age);e.setSalary(Double.valueOf(elem.elementText(salary);e.setType(elem.attributeValue(type);emps.add(e);for(Emp e : emps)System.out.println(e.getId() + +e.getName();/* * xpath演示示例 */public static void xpath() throws Exception SAXReader reader = new SAXReader();Document doc = reader.read(new FileInputStream(d:xmlemps.xml);/List elems = /doc.selectNodes(/emps/emp1);/List elems = /doc.selectNodes(/emps/emptype=Leader);List elems = doc.selectNodes(/emps/empid=2);Element parent = elems.get(0);Sys

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论