xml转换
来源:互联网 发布:管子曰仓廪实而知礼节 编辑:程序博客网 时间:2024/05/18 00:39
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:\\xml\\emp.xml"), OutputFormat.createPrettyPrint()); writer.write(doc); writer.close();}/** * 2.读取XML,将数据写入Emp对象中 */public static void xml2emp() throws Exception { SAXReader reader = new SAXReader(); //读取xml Document doc = reader.read( new FileInputStream( "d:\\xml\\emp.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<Emp> emps = new ArrayList<Emp>(); 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()); } //输入到XML XMLWriter writer = new XMLWriter( new FileOutputStream("d:\\xml\\emps.xml") ,OutputFormat.createPrettyPrint()); writer.write(doc); writer.close();}/** * 4.从XML中读取一组Emp数据 */public static void xml2emps() throws Exception { SAXReader reader = new SAXReader(); List<Emp> emps = new ArrayList<Emp>(); //读取XML文件 Document doc = reader.read( new FileInputStream( "d:\\xml\\emps.xml")); //读取根元素emps Element root = doc.getRootElement(); List<Element> 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:\\xml\\emps.xml"));
// List elems =
// doc.selectNodes(“/emps/emp[1]”);
// List elems =
// doc.selectNodes(“/emps/emp[@type=’Leader’]”);
List elems =
doc.selectNodes(“/emps/emp[id=’2’]”);
Element parent = elems.get(0);
System.out.println(parent.elementText(“id”));
System.out.println(parent.elementText(“name”));
}
public static void main(String[] args) throws Exception {
// emp2xml();
// xml2emp();
// emps2xml();
// xml2emps();
xpath();
}
}
- 转换XML
- 转换xml
- xml转换
- XML转换
- python xml 转换csv ,csv 转换xml
- DataSet转换XML转换DataSet
- xsl转换xml小记
- XML XLS转换
- xsl对xml转换
- XSLT转换XML小结
- xml转换为树
- XSLT转换XML小结
- XML和DataSet转换
- XSLT转换XML小结
- xslt转换xml
- 转换XML文档
- 数组和XML转换
- xml转换为dataset
- VS2010 编译 OpenSceneGraph
- jQuery性能相关
- Html5添加原生radio按钮和checkbox复选框转换为非常好看的滑动开关按钮的插件教程
- 一个Sqrt函数引发的血案
- CSDN 社区大趴-北京站 圆满结束
- xml转换
- Python入门笔记
- 常用js代码
- Linux启动/停止/重启Mysql数据库的方法
- dbcp、c3p0、jndi三者的联系
- opencv 基本数据结构
- 浏览器运行出现Java应用程序版本老旧
- 查询一张表的数据去更新另一张表
- git 命令