Java解析XML文件的方法有多种,个人感觉最常用的是使用Dom4j来解析XML文件。下面就简单介绍下Dom4j的基础使用。

  Dom4j需要jar包的支持,大家可以从网络上下载,如dom4j-1.6.1.jar

  下载好JAR包以后,只要导入我们的工程就可以使用了,Java WEB工程导入路径为:WebRoot/WEB-INF/lib目录下;

  代码示例:

一、查看xml文档基础操作(以封装方法展示):

    public static  void run() throws Exception {
//获取Dom4j解析器对象
SAXReader reader = new SAXReader();
//读取XML,返回Document对象
Document document = reader.read("src/Demo.xml");
//获取根节点
Element rootElement = document.getRootElement();
//获取根节点下的全部名称为book的元素,得到元素集合
List<Element> elements = rootElement.elements("book");
//选择某一个元素
Element shu2 = elements.get(1);
//获取元素下的摸个目标元素
Element name2 = shu2.element("name");
//获取元素的文本内容 getText()
System.out.print("书名是:"+name2.getText());
}

二、插入一个xml元素并回写到xml文件的操作

    public static  void run2() throws Exception {
//获取Dom4j解析器对象
SAXReader reader = new SAXReader();
//读取XML,返回Document对象
Document document = reader.read("src/Demo.xml");
//获取根节点
Element rootElement = document.getRootElement();
//获取目标节点元素
Element shu1 = (Element) rootElement.elements("book").get(1);
//添加元素(addElement)和文本(addText);添加属性(addAttribute)
shu1.addElement("prise").addText("99.8 yuan").addAttribute("属性名", "属性值");
//设置输出格式,使用OutputFormat,多采用createPrettyPrint();如果需要压缩格式,用createCompactFormat()
OutputFormat format = OutputFormat.createPrettyPrint();
//设置输出编码
format.setEncoding("utf-8");
//创建回写类,并指定xml路径与写入格式
XMLWriter writer = new XMLWriter(new FileOutputStream("src/Demo.xml"),format);
//回写
writer.write(document);
//成功
System.out.print("ok,mylydg");
}

三、在指定位置插入元素的操作

    public static  void run3() throws Exception {
//获取Dom4j解析器对象
SAXReader reader = new SAXReader();
//读取XML,返回Document对象
Document document = reader.read("src/Demo.xml");
//获取根节点
Element rootElement = document.getRootElement();
//获取目标节点元素
Element book = (Element) rootElement.elements("shu").get(1);
//通过DocumentHelper创建一个元素
Element prise = DocumentHelper.createElement("prise");
//设置元素文本
prise.setText("99.8 yuan");
//获得目标元素的子元素集合
List<Element> elements = book.elements();
//通过下标添加元素到指定集合位置
elements.add(0, prise);
//设置输出格式,使用OutputFormat,多采用createPrettyPrint();如果需要压缩格式,用createCompactFormat()
OutputFormat format = OutputFormat.createPrettyPrint();
//创建回写类,并指定xml路径与写入格式
XMLWriter writer = new XMLWriter(new FileOutputStream("src/Demo.xml"),format);
//回写
writer.write(document);
//关闭流
writer.close();
//成功
System.out.print("ok,mylydg");
}

四、删除和更新的操作

    public static  void run4() throws Exception {
//获取Dom4j解析器对象
SAXReader reader = new SAXReader();
//读取XML,返回Document对象
Document document = reader.read("src/Demo.xml");
//获取根节点
Element rootElement = document.getRootElement();
//获取目标节点元素
Element book = (Element) rootElement.elements("shu").get(1);
//获取要删除的元素
Element prise = book.element("prise");
//删除
book.remove(prise);
//获取要更新的元素
Element name = book.element("name");
//更新
name.setText("new name");
//设置输出格式,使用OutputFormat,多采用createPrettyPrint();如果需要压缩格式,用createCompactFormat()
OutputFormat format = OutputFormat.createPrettyPrint();
//创建回写类,并指定xml路径与写入格式
XMLWriter writer = new XMLWriter(new FileOutputStream("src/Demo.xml"),format);
//回写
writer.write(document);
//关闭流
writer.close();
//成功
System.out.print("ok,mylydg");
}

  以上就是Dom4j对xml解析的基本使用方法。

Java解析XML之Dom4j的更多相关文章

  1. java 解析xml(dom4j.jar)

    先导入jar包 <?xml version="1.0" encoding="UTF-8"?> <companys> <compan ...

  2. (补)Java解析XML之dom4j

    上次记得忘了记最流行的dom4j方法了,用的还是上次的那个XML文件 注:需要添加dom4j.jar文件 package com.xujingyang.dom4j; import org.dom4j. ...

  3. Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)

    [目录] 一.[基础知识——扫盲] 二.[DOM.SAX.JDOM.DOM4j简单使用介绍] 三.[性能测试] 四.[对比] 五.[小插曲XPath] 六.[补充] 关键字:Java解析xml.解析x ...

  4. JAVA解析XML文件(DOM,SAX,JDOM,DOM4j附代码实现)

    1.解析XML主要有四种方式 1.DOM方式解析XML(与平台无关,JAVA提供,一次性加载XML文件内容,形成树结构,不适用于大文件) 2.SAX方式解析XML(基于事件驱动,逐条解析,适用于只处理 ...

  5. XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax

    本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...

  6. java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol

    java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol 完整错误信息: org.dom4j.Document ...

  7. java解析xml的三种方法

    java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax; import org.xml.sax.Attributes; import org.xml.sax.SAXE ...

  8. Java 解析 XML

    Java 解析 XML 标签: Java基础 XML解析技术有两种 DOM SAX DOM方式 根据XML的层级结构在内存中分配一个树形结构,把XML的标签,属性和文本等元素都封装成树的节点对象 优点 ...

  9. JAVA解析XML的四种方式

    java解析xml文件四种方式 1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这 ...

随机推荐

  1. 配置STP、RSTP以及负载均衡

    生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能. 每个VLAN都生成一棵树是一种比较直接,而且最简单的解决方法.它能够保证每一个VL ...

  2. iris:get json

    package main import( "github.com/kataras/iris" "github.com/kataras/iris/middleware/lo ...

  3. break 和 continue 语句, 以及循环中的 else 子句

    break 语句工作得如同 C 语言一样, 跳出最小的 for 或 while 循环.循环语句可以有一个 else 子句; 该子句会在以下情况被执行: 循环因迭代到列表末尾而终止 (for 语句), ...

  4. Hadoop学习笔记1 - 使用Java API访问远程hdfs集群

    转载请标注原链接 http://www.cnblogs.com/xczyd/p/8570437.html 2018年3月从新司重新起航了.之前在某司过了的蛋疼三个月,也算给自己放了个小假了. 第一个小 ...

  5. 2015219付颖卓《网络对抗》EXP8 Web基础

    实验后回答问题 1.什么是表单 来自百度百科的官方定义:表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方 ...

  6. android app内部更新适配到8.0

    app 内部跟新是app中必须要有的功能,在app出现改变时,app内部更新能以最快的速度将应用提升到最新版本. 步骤: 1.获取本地app的版本号 int versionCode = 0; try ...

  7. 第一次实验: CC2530平台上电源管理与休眠

    实验一 CC2530平台上电源管理与休眠 实验目的: 加深和巩固学生对于TinyOS编程方法的理解和掌握 让学生初步的认识TinyOS编程的基础和简单的程序编写 学生通过本实验能够初步的了解和掌握Ti ...

  8. day09 函数学习

    内容详细 1.函数 1.1.面向过程: 可读性差/可重用差 1.2.面向对象:

  9. Sails -初级学习配置

    新建一个命名为sails的文件夹1.安装 npm -g install sails || cnpm -g install sails 注意:安装必须是全局安装 cnpm install sails - ...

  10. 在ubuntu服务器上安装tomcat 9

    前提条件: 确保ubuntu服务器上 已经安装 java 8 或更高版本,安装java8可以参考我的另一篇博文 通过 ppa 在ubuntu server 上安装java 8 java -versio ...