dom4j解析
来源:互联网 发布:乙丁网络骗局 编辑:程序博客网 时间:2024/06/02 03:12
dom4j解析
xml
<?xml version="1.0" encoding="utf-8"?><!--引入dtd去约束该xml文件--><班级> <学生 性别="女" 学号="sp002"> <名字>林青霞</名字> <介绍>学习刻苦</介绍> <年龄>23</年龄> </学生> <学生> <名字>宋江</名字> <年龄/> <介绍/> </学生> <学生>林冲</学生> <学生> <名字>宋江</名字> <年龄/> <介绍/> </学生> </班级>
sax解析
要引入dom4j的jar包
package com.dom4j.test;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 java.io.File;import java.io.FileOutputStream;import java.io.FileWriter;import java.util.Iterator;import java.util.List;/** * Created by 宋贤 on 2015/10/14. */public class Dom4jTest { //演示用dom4j来对xml进行crud操作 public static void main(String[] args) throws Exception{ SAXReader saxReader=new SAXReader(); Document document=saxReader.read(new File("src/com/dom4j/test/myClass2.xml"));// list(document.getRootElement());// read(document);// add(document);// delete(document); addByIndex(document); } public static void list(Element element){ System.out.println(element.getName()+" "+element.getTextTrim()); Iterator iterator=element.elementIterator(); while (iterator.hasNext()){ Element element1=(Element)iterator.next(); list(element1); } } //读取 public static void read(Document document){ Element root=document.getRootElement(); //取出root下的所有学生元素 Element stu=(Element)root.elements("学生").get(0);// System.out.println("名字:"+stu.element("名字").getText()); Element stu_name=stu.element("名字"); System.out.println("名字:"+stu_name.getText()+" 性别:"+stu_name.attributeValue("性别")); //看下面代码能否跨层取 //不能跨层取// Element stu2=(Element)root.elements("名字").get(0);// System.out.println(stu2.getText()); } //读取 public static void add(Document document) throws Exception{ Element newStu= DocumentHelper.createElement("学生"); Element newStu_name= DocumentHelper.createElement("名字"); newStu_name.setText("宋江"); Element newStu_age= DocumentHelper.createElement("年龄"); Element newStu_intro= DocumentHelper.createElement("介绍"); //把三个元素添加到newStu下 newStu.add(newStu_name); newStu.add(newStu_age); newStu.add(newStu_intro); //把newStu加到根元素之下 document.getRootElement().add(newStu); //可能出现中文乱码 OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("utf-8"); XMLWriter xmlWriter=new XMLWriter(new FileOutputStream(new File("src/com/dom4j/test/myClass2.xml")),format); xmlWriter.write(document); xmlWriter.close(); } //删除 public static void delete(Document document)throws Exception{ Element stu=document.getRootElement().element("学生");// stu.getParent().remove(stu); stu.remove(stu.attribute("大哥")); //可能出现中文乱码 OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("utf-8"); XMLWriter xmlWriter=new XMLWriter(new FileOutputStream(new File("src/com/dom4j/test/myClass2.xml")),format); xmlWriter.write(document); xmlWriter.close(); } public static void addByIndex(Document document)throws Exception{ Element element=DocumentHelper.createElement("学生"); element.setText("林冲"); List list=document.getRootElement().elements("学生"); for (int i=0;i<list.size();i++){ Element name=((Element)list.get(i)).element("名字"); if(name.getText().equals("宋江")){ list.add(i+1,element); break; } }// list.add(1,element); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("utf-8"); XMLWriter xmlWriter=new XMLWriter(new FileOutputStream(new File("src/com/dom4j/test/myClass2.xml")),format); xmlWriter.write(document); xmlWriter.close(); }}
0 0
- DOM4j解析
- dom4j解析
- dom4j解析
- Dom4j 解析
- DOM4J解析
- dom4j解析
- dom4j解析
- Dom4j 解析
- DOM4J解析
- dom4j解析
- DoM4J解析
- dom4j解析
- 用DOM4J解析XML
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 解析xml之--DOM4J
- dom4j解析XML
- 使用 dom4j 解析 XML
- Android开发面试经——5.常见面试官提问Android题2
- mysql笔记01:source命令导入数据失败/乱码
- 最短路算法 :Bellman-ford算法 & Dijkstra算法 & floyd算法 & SPFA算法 详解
- java.util.concurrent 使用详解
- SpringMVC @RequestBody接收Json对象字符串
- dom4j解析
- 条理清晰的搭建SSH环境之添加所需jar包
- phpmyadmin登陆时出现“空密码登陆被禁止
- Linux中ELF格式文件介绍
- 几种JVM垃圾回收机制
- 【LeetCode】162. Find Peak Element
- Linux设备驱动--字符设备驱动程序2
- SQL ALTER TABLE 语句 高级教程
- 大数据的排序策略,分而治之,多路归并