dom4j解析 操作xml

//读取内容
 public void read() throws Exception{
  SAXReader reader = new SAXReader();
  Document document = reader.read("src/book.xml");
  
  Element root = document.getRootElement();
  Element book = (Element) root.elements("书").get(1);//获取xml中的第二本书
  String  value = book.element("书名").getText();
 }
 //读取属性
 public void readAttr() throws Exception{
  SAXReader reader = new SAXReader();
  Document document = reader.read("src/book.xml");
  
  Element root = document.getRootElement();
  Element book = (Element) root.elements("书").get(1);//获取xml中的第二本书
  String value  = book.element("书名").attributeValue("name");
 }
 //添加
 public void add() throws Exception{
  SAXReader reader = new SAXReader();
  Document document = reader.read("src/book.xml");
  
  Element book = document.getRootElement().element("书");
  book.addElement("售价").setText("209");
  
  XMLWriter writer = new XMLWriter(new OutputStreamWriter(new FileOutputStream("src/book.xml"),"utf-8"));
  writer.write(document);
  writer.close();
 }
 //向指定位置添加element
 public void add2() throws Exception{
  SAXReader reader = new SAXReader();
  Document document = reader.read("src/book.xml");
  Element book = document.getRootElement().element("书");
  List list = book.elements();
  
  Element element = DocumentHelper.createElement("售价");
  element.setText("309");
  
  list.add(2, element);
  OutputFormat format = OutputFormat.createPrettyPrint();
  format.setEncoding("utf-8");
  
  XMLWriter writer = new XMLWriter(new FileOutputStream("src/book.xml"), format);
  writer.write(document);
  writer.close();
 }
 //删除
 public void delete() throws Exception{
  SAXReader reader = new SAXReader();
  Document document = reader.read("src/book.xml");
  
  Element price = document.getRootElement().element("书").element("售价");
  price.getParent().remove(price);
  OutputFormat format = OutputFormat.createPrettyPrint();
  format.setEncoding("utf-8");
  
  XMLWriter writer = new XMLWriter(new FileOutputStream("src/book.xml"), format);
  writer.write(document);
  writer.close();
 }
 //更新
 public void update() throws Exception{
  SAXReader reader = new SAXReader();
  Document document = reader.read("src/book.xml");
  
  Element book = (Element) document.getRootElement().elements("书").get(1);
  book.element("作者").setText("或黎明");
  OutputFormat format = OutputFormat.createPrettyPrint();
  format.setEncoding("utf-8");
  
  XMLWriter writer = new XMLWriter(new FileOutputStream("src/book.xml"), format);
  writer.write(document);
  writer.close();
 }
 //利用xpath提取xml文档中的数据
 public void extract() throws Exception{
  SAXReader reader = new SAXReader();
  Document document = reader.read("src/book.xml");
  
  String value = document.selectSingleNode("作者").getText();//得到第一个作者的名字
 }
 //查找user.xml中是否有 和用户相匹配的用户名和密码
 @Test
 public void extract2() throws Exception{
  String userName = "aaa";
  String passWord ="123";
  SAXReader reader = new SAXReader();
  Document document = reader.read("src/users.xml");
  Node node =  document.selectSingleNode("//user[@userName=‘"+userName+"‘ and @passWord=‘"+passWord+"‘]");
  if(node == null){
   System.out.println("登陆失败!");
  }else{
   System.out.println("登陆成功!");
  }
 }

dom4j解析 操作xml

时间: 2024-10-17 07:16:16

dom4j解析 操作xml的相关文章

XML编程总结(四)——使用dom4j方式操作xml

(四)使用dom4j方式操作xml dom4j是解析XML的一种开源API,是jdom的升级品,用来读写XML文档.它具有性能优异.功能强大和极易使用的特点,它的性能超过sun公司官方的dom技术.dom4j对Xpath有良好的支持(使用xpath时需要导入jaxen的jar包),dom4j最大的特色使用大量的接口.使用dom4j时需要导入dom4j-xxx.jar包. Attribute ——Attribute定义了XML的属性 Branch ——Branch为能够包含子节点的节点如XML元素

dom4j 解析生成xml 案例

生成XMLpublic void testCreateXml() { //创建一个xml文档 Document doc = DocumentHelper.createDocument(); //向xml文件中添加注释 doc.addComment("这里是注释"); //创建一个名为students的节点,因为是第一个创建,所以是根节点,再通过doc创建一个则会报错. Element root = doc.addElement("students"); //在roo

Java操作XML文件 dom4j 篇

在项目中,我们很多都用到了xml文件,无论是参数配置还是与其它系统的数据交互.今天就来讲一下Java 中使用dom4j来操作XML文件. 我们需要引入的包: //文件包 import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileWriter; //工具包 import java.util.Iterator; import java.util.List; //dom4j包 import org.dom

java中利用dom4j解析XML文件

官网下载Dom4j地址:https://dom4j.github.io/ 注意:使用Dom4j开发,需下载dom4j相应的jar文件 题目:后台利用dom4j解析student.xml文件,并返回List<Student>集合 需要解析的XML: <?xml version="1.0" encoding="UTF-8"?> <classes> <class name="ST01"> <stud

dom4j解析XML的CURD操作

在开发JavaWeb项目中通常是利用XML配置文件来提高应用程序的访问效率,而在配置XML的同时,更多时候是对XML进行解析. 一.解析XML配置文件有两种机制: DOM和SAX的机制: DOM是将整个XML文件读到内容,形成一个倒状的树形结构. SAX是一个一个的将XML文件中的元素加载的内存,不会形成一个倒状的树形结构. 常用dom4j的api: 主要使用到SAXReader类 SAXReader:表示DOM4J解析器 saxReader.read():加载需要解析的xml文件,返回docu

DOM4J操作XML(包括封装和解析)

先来看看dom4j中相应XML的DOM树建立的继承关系 针对于XML标准定义.相应于图2-1列出的内容,dom4j提供了下面实现: 以下给出一个详细事例: package com.iboxpay.settlement.gateway.common.util; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; import org.dom4j.Document; import

DOM4J操作XML(包含封装和解析)

先来看看dom4j中对应XML的DOM树建立的继承关系 针对于XML标准定义,对应于图2-1列出的内容,dom4j提供了以下实现: 下面给出一个具体事例: package com.iboxpay.settlement.gateway.common.util; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; import org.dom4j.Document; import

【收藏用】--切勿转载JAVA 使用Dom4j 解析XML

原帖地址 : http://blog.csdn.NET/yyywyr/article/details/38359049 解析XML的方式有很多,本文介绍使用dom4j解析xml. 1.环境准备 (1)下载dom4j-1.6.1.jar (2)下载junit-4.10.jar 2.温馨提示 解析XML过程是通过获取Document对象,然后继续获取各个节点以及属性等操作,因此获取Document对象是第一步,大体说来,有三种方式: (1)自己创建Document对象   Document docu

转:在java中使用dom4j解析xml

在java中使用dom4j解析xml 虽然Java中已经有了Dom和Sax这两种标准解析方式 但其操作起来并不轻松,对于我这么一个初学者来说,其中部分代码是活生生的恶心 为此,伟大的第三方开发组开发出了Jdom和Dom4j等工具 鉴于目前的趋势,我们这里来讲讲Dom4j的基本用法,不涉及递归等复杂操作 Dom4j的用法很多,官网上的示例有那么点儿晦涩,这里就不写了 首先我们需要出创建一个xml文档,然后才能对其解析 xml文档: <?xml version="1.0" encod