博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dom4j解析xml
阅读量:3952 次
发布时间:2019-05-24

本文共 7556 字,大约阅读时间需要 25 分钟。

dom4j
dom4j
1.6.1
jaxen
jaxen
1.1.1
Vue后台管理实战
林洋锐
28.00元
大学生
SpringCloud 分布式架构
林洋锐
28.00元
redis设计与实现
莫言
28.00元
高性能mysql
莫言
28.00元
大学生 中学生
import org.dom4j.*;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.*;/** * @Author lyr * @create 2020/6/23 21:47 */public class Main {
public static final String path = "F:\\妹子1\\testJava2\\xmlJava\\src\\main\\java\\xml\\book.xml"; public static void main(String[] args) {
try {
xpathPrint(); } catch (Exception e) {
e.printStackTrace(); } } public static String random() {
return UUID.randomUUID().toString(); } public static void printOne() {
File file = new File(path); SAXReader reader=new SAXReader(); //读取xml文件到Document中 Document document= null; try {
document = reader.read(file); System.out.println(document.getRootElement().element("book").asXML()); } catch (DocumentException e) {
e.printStackTrace(); } } private static String template = "
\n" + "
\n" + "
\n" + "
%s
"; /** * 添加节点 * @throws Exception */ public static void add() throws Exception{
// org.dom4j.Document document1 = DocumentHelper.parseText(String.format(template,random(),"读书笔记","tom","100","大学生")); try {
File file = new File(path); SAXReader reader=new SAXReader(); //读取xml文件到Document中 Document document=reader.read(file); //获取xml文件的根节点 // document.getRootElement().elements("book").forEach(doc->{
// System.out.println( ((Element)doc).asXML() ); // }); Document doc = DocumentHelper.parseText(String.format(template, random(), "好策读书", "林老师", 998, "大学生" )); System.out.println(document.getRootElement().asXML()); document.getRootElement().elements().add(doc.getRootElement()); // System.out.println(document.getRootElement().asXML()); // r.add(ele); OutputFormat format = OutputFormat.createPrettyPrint(); XMLWriter writer = new XMLWriter( new FileWriter(new File(path)), format); writer.write(document); writer.close(); } catch (Exception e) {
// TODO: handle exception e.printStackTrace(); } } /** * 删除节点 * @throws DocumentException */ public static void delete() throws DocumentException {
File file = new File(path); SAXReader reader=new SAXReader(); //读取xml文件到Document中 Document document=reader.read(file); Element e = document.getRootElement().element("book"); e.getParent().remove(e); System.out.println(document.asXML()); OutputFormat format = OutputFormat.createPrettyPrint(); XMLWriter writer = null; try {
writer = new XMLWriter( new FileWriter(new File(path)), format); writer.write(document); } catch (IOException ioException) {
ioException.printStackTrace(); }finally {
try {
writer.close(); } catch (IOException ioException) {
ioException.printStackTrace(); } } } public static void updateAttr() {
File file = new File(path); SAXReader reader=new SAXReader(); //读取xml文件到Document中 Document document= null; try {
document = reader.read(file); Element e = document.getRootElement().element("book"); System.out.println(e.asXML()); e.addAttribute("bookNo",random()); write(document); } catch (DocumentException e) {
e.printStackTrace(); } } public static void write(Document document) {
OutputFormat format = OutputFormat.createPrettyPrint(); XMLWriter writer = null; try {
writer = new XMLWriter( new FileWriter(new File(path)), format); writer.write(document); } catch (IOException ioException) {
ioException.printStackTrace(); }finally {
try {
writer.close(); } catch (IOException ioException) {
ioException.printStackTrace(); } } } //遍历xml public static void printAll() {
File file = new File(path); SAXReader reader=new SAXReader(); //读取xml文件到Document中 try {
Document document = reader.read(file); List
list = document.getRootElement().elements("book"); for (Iterator it = list.iterator(); it.hasNext();) {
Element elm = (Element) it.next(); // do something System.out.println("node"); System.out.println(elm.asXML()); } } catch (DocumentException e) {
e.printStackTrace(); } } public static void xpathPrint() {
SAXReader reader = new SAXReader(); try {
Document document = reader.read(new File(path)); Map map = new HashMap<>(); map.put("default","http://www.lyr.com/xml"); //设置默认的命名空间,不然找不到 String query = "//default:author"; XPath xpath = document.createXPath(query); xpath.setNamespaceURIs(map); // System.out.println(bookShelf.asXML()); xpath.selectNodes(document).forEach(node->{
System.out.println(String.format("知名作家: %s",((Node)node).getText())); }); } catch (DocumentException e) {
e.printStackTrace(); } }}

转载地址:http://ihuzi.baihongyu.com/

你可能感兴趣的文章
Android文件系统深入剖析
查看>>
Android build system note
查看>>
编写Linux下Input设备的检测程序
查看>>
Android Recovery模式
查看>>
android恢复出厂设置以及系统升级流程
查看>>
嵌入式系统 Boot Loader 技术内幕
查看>>
浅析linux开发工具adb具体实现
查看>>
Adb源码学习
查看>>
浅析linux开发工具adb具体实现
查看>>
清炒土豆丝的做法详细介绍
查看>>
adb 协议
查看>>
Android Debug Bridge 服务详解
查看>>
linux access函数判断文件存取权限
查看>>
epoll使用
查看>>
C语言的常用类型转换函数(atoi,atol,strtod,strtol,strtoul)
查看>>
C语言宏定义##连接符和#符的使用
查看>>
对FrameBuffer的一夜hack
查看>>
Linux framebuffer ---double buffer
查看>>
android电源管理
查看>>
Android电源管理相关应用技巧分享
查看>>