我的java学习之路-基础-DOM4J
来源:互联网 发布:投弹兵升级数据 编辑:程序博客网 时间:2024/06/06 16:28
package cn.bxt.oop.xml;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/*
*(1)从外界导入包:右键---》 Build Path---》Configure Build Path---》select "Library" tab--->Add External Jars
*(2) SAXReader :SAX:Simple API for XML;
*DOM:在内存中创建文档树;内存占用多,适合小的xml文档;
*SAX:不是创建文档树,以事件驱动,用字节流,一边读一边解析;内存占用少;
*
*
*/
import org.dom4j.io.XMLWriter;
public class DOM4j {
public static void main(String[] args) throws DocumentException, IOException {
//1.解析文档;
SAXReader reader=new SAXReader();
Document document=reader.read("e:\\books.xml");
//add(document);
//check(document);
//update(document);
delete(document);
save(document);
}
public static void add(Document document){
//2.add;
Element books=document.getRootElement();//books找到
Element book=books.addElement("book");//在books下添加一个元素,
Element title=book.addElement("title");//book下添加一个title节点
Element price=book.addElement("price");
title.setText("巴黎圣母院");//设置title名字
price.setText(String.valueOf(38.9));
}
public static void delete(Document document){
Element books=document.getRootElement();
Iterator<Element> it=books.elementIterator();
while(it.hasNext()){
Element book=it.next();
Iterator<Element> itSub=book.elementIterator();
while(itSub.hasNext()){
Element bField=itSub.next();
if("title".equals(bField.getName())&&"北京".equals(bField.getText())){
books.remove(book);
}
}
}
}
public static void update(Document document){
Element books=document.getRootElement();
Iterator<Element> it=books.elementIterator();
while(it.hasNext()){
Element book=it.next();
Iterator<Element> itSub=book.elementIterator();
while(itSub.hasNext()){
Element bField=itSub.next();
if("title".equals(bField.getName())&&"巴黎圣母院".equals(bField.getText())){
bField.setText("三国演义");
}
}
}
}
public static void check(Document document){
Element books=document.getRootElement();
Iterator<Element> it=books.elementIterator();
while(it.hasNext()){
Element book=it.next();
Iterator<Element> itSub=book.elementIterator();
while(itSub.hasNext()){
Element bField=itSub.next();
System.out.println(bField.getName()+" "+bField.getText());
}
}
}
public static void save(Document document) throws IOException{
//3.save;
OutputStream os=new FileOutputStream("e:\\books.xml");
OutputStreamWriter osw=new OutputStreamWriter(os, "utf-8");
XMLWriter writer=new XMLWriter(osw);
writer.write(document);
writer.close();
}
}
0 0
- 我的java学习之路-基础-DOM4J
- 我的java学习路之java基础认识
- 我的java基础学习
- java学习之dom4j 对 xml的读取
- Java学习之路——用dom4j解析xml
- Java学习之路——用dom4j解析xml
- [转]我的Java学习之路
- 我的JAVA学习之路
- 我的Java学习之路
- 菜鸟我的JAVA学习之路
- 我的java 学习之路
- 我的java学习之路
- 我的Java学习之路
- 我的java学习之路
- 我的java学习之路 一
- 我的Java学习之路( 一 )
- 我的JAVA 学习之路
- 我的java开始学习之路
- python socket 创建tcp服务器和客户端改进版(实现半双工聊天)
- 蓝桥杯JAVA语言B组_猜字母
- KNN
- 详解:智能医学影像分析的前沿与挑战
- 在mybatis中动态创建数据表
- 我的java学习之路-基础-DOM4J
- Java序列化
- Git 提示fatal: remote origin already exists 错误解决办法
- git 推送基本操作
- PHP之0与空字符串关系测试以及详解
- 数据结构——栈和队列
- ubuntu rar
- web开发-本地Windows远程桌面连接阿里云Ubuntu服务器-学习笔记九
- Linux系统开机自动加载驱动module