首页 技术 正文
技术 2022年11月12日
0 收藏 478 点赞 2,302 浏览 3983 个字

1.Demo1.java

package cn.itcast.dom4j;

import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.junit.Test;

public class Demo1 {

// 读取xml文档第二本书的:<书名>Java</书名>
@Test
public void test1() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File(“src/book.xml”));
Element root = document.getRootElement();
Element book = (Element) root.elements(“书”).get(1);
String value = book.element(“书名”).getText();
System.out.println(value);
}

// 读取xml文档第二本书的属性:<书名 name=”xx”>Java</书名>
@Test
public void test2() throws Exception {

SAXReader reader = new SAXReader();
Document document = reader.read(new File(“src/book.xml”));
Element root = document.getRootElement();
Element book = (Element) root.elements(“书”).get(1);
String value = book.element(“书名”).attributeValue(“name”);
System.out.println(value);

}

// 在第一本书上添加一个新的售价:<售价>211元</售价>
@Test
public void addtest() throws Exception {

SAXReader reader = new SAXReader();
Document document = reader.read(new File(“src/book.xml”));
Element root = document.getRootElement();
Element book = (Element) root.elements(“书”).get(0);
book.addElement(“售价”).setText(“211元”);

OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding(“gb2312”);

XMLWriter writer = new XMLWriter(new FileOutputStream(“src/book.xml”),
format);
writer.write(document);
writer.close();
}

// 在第一本书指定位置上添加一个新的售价:<售价>209元</售价>
@Test
public void addtest2() throws Exception {

SAXReader reader = new SAXReader();
Document document = reader.read(new File(“src/book.xml”));

Element book = (Element) document.getRootElement().element(“书”);
List list = book.elements();// [书名,作者,售价,售价]

Element price = DocumentHelper.createElement(“售价”);
price.setText(“209元”);

list.add(2, price);

OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding(“gb2312”);

XMLWriter writer = new XMLWriter(new FileOutputStream(“src/book.xml”),
format);
writer.write(document);
writer.close();
}

// 删除上面添加的售价节点
@Test
public void delete() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File(“src/book.xml”));

Element price = (Element) document.getRootElement().element(“书”).element(“售价”);
price.getParent().remove(price);

OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding(“gb2312”);

XMLWriter writer = new XMLWriter(new FileOutputStream(“src/book.xml”),
format);
writer.write(document);
writer.close();
}

// 删除上面添加的售价节点
@Test
public void update() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File(“src/book.xml”));

Element book = (Element) document.getRootElement().elements(“书”).get(1);
book.element(“作者”).setText(“hh”);

OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding(“gb2312”);

XMLWriter writer = new XMLWriter(new FileOutputStream(“src/book.xml”),
format);
writer.write(document);
writer.close();
}
}

2.Demo2.java

package cn.itcast.dom4j;

import java.io.File;
import java.io.FileOutputStream;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.junit.Test;

public class Demo2 {
/**
* 应用xpath提取xml文档的数据
*
*/
@Test
public void test() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File(“src/book.xml”));

String value = document.selectSingleNode(“//作者”).getText();
System.out.println(value);

}
}

3.Demo3.java

package cn.itcast.dom4j;

import java.io.File;

import org.dom4j.Document;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import org.junit.Test;

public class Demo3 {
/**
* 查找user.xml文档是否有和用户相匹配的用户名和密码
*
*/
@Test
public void test() throws Exception {
String username = “aaa”;
String password = “123”;

SAXReader reader = new SAXReader();
Document document = reader.read(new File(“src/users.xml”));

Node node = document.selectSingleNode(“//user[@username='” + username
+ “‘ and @password='” + password + “‘]”);
if (node == null)
System.out.println(“用户名或密码错误!”);
else
System.out.println(“登录成功!”);

}
}

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,488
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,903
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,737
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,489
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,128
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,290