使用Dom4解析xml
XML是一种通用的数据交换格式,它的平台无关性、语言无关性、系统无关性、给数据集成与交互带来了极大的方便。
XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已。
XML的解析方式分为四种:1、DOM解析;2、SAX解析;3、JDOM解析;4、DOM4J解析。
其中前两种属于基础方法,是官方提供的平台无关的解析方式;
后两种属于扩展方法,它们是在基础的方法上扩展出来的,只适用于java平台。
---使用DOM4J解析xml
package Dom4j; import XmlDocument.XmlDocument;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter; import java.io.File;
import java.io.FileWriter; import java.io.Writer;
import java.util.Iterator; /**
* Created by zhangyu on 2017/7/24.
*/
public class Dom4jTest{ /**
* 建立XML文档
* @param fileName 文件全路径名称
*/
public void createXml(String fileName) throws Exception {
Document document = DocumentHelper.createDocument(); //创建document对象
Element employee = document.addElement("employee"); //添加一个节点
Element name = employee.addElement("name"); //为节点添加一个属性
name.setText("张雨");
Element sex = employee.addElement("sex"); //为 节点添加一个性别属性
sex.setText("男");
Element age = employee.addElement("age"); //为节点添加年龄属性
age.setText("19");
Writer fileWriter = new FileWriter(fileName);
XMLWriter xmlWriter =new XMLWriter(fileWriter);
xmlWriter.write(document);
xmlWriter.close(); //关闭流 }
/**
* 解析XML文档
* @param fileName 文件全路径名称
*/
public void parserXml(String fileName) {
File inputXml = new File(fileName);
SAXReader saxReader = new SAXReader();
try {
Document document=saxReader.read(inputXml); //SAX生成和解析XML文档
Element employees = document.getRootElement(); //获得根节点
for(Iterator i = employees.elementIterator(); i.hasNext();){
Element employee = (Element) i.next();
for(Iterator j = employee.elementIterator(); j.hasNext();){
Element node=(Element) j.next();
System.out.println(node.getName()+":"+node.getText());
}
}
} catch (DocumentException e) {
e.printStackTrace();
} }
}
其原理还是底层 的Dom和SAX解析
测试类
执行方法createXml()
<?xml version="1.0" encoding="UTF-8"?>
<employee><name>张雨</name><sex>男</sex><age>19</age></employee>
执行方法parseXml()
name:张雨
sex:男
age:19
使用Dom4解析xml的更多相关文章
- dom4解析xml格式文件实例
以下给4种常见的xml文件的解析方式的分析对比: DOM DOM4J JDOM SAX 解析XML文件的几种方式和区别答: Dom解析 在内存中创建一个DOM树,该结构通常需要加载整个文档然后才能做工 ...
- dom4解析 XML
Java XML解析工具 dom4j介绍及使用实例 Java XML解析工具 dom4j介绍及使用实例 dom4j介绍 dom4j的项目地址:http://sourceforge.net/projec ...
- DOm4解析xml
1.创建XML文档对象的的方式有两种 1)Document document=DocumentHelper.createDocument(); 2)DocumentFactory documentFa ...
- XML的概述,.Dom4解析和SAX解析
1.什么是XML XML 指可扩展标记语言(EXtensible Markup Language) html(hyper text markup langauge) XML 是一种标记语言,很类似 H ...
- Android 解析XML文件和生成XML文件
解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...
- Android之解析XML
1.XML:可扩展标记语言. 可扩展标记语言是一种很像超文本标记语言的标记语言. 它的设计宗旨是传输数据,而不是显示数据. 它的标记没有被预定义.需要自行定义标签. 它被设计为具有自我描述性. 是W3 ...
- Android之Pull解析XML
一.Pull解析方法介绍 除了可以使用SAX和DOM解析XML文件,也可以使用Android内置的Pull解析器解析XML文件.Pull解析器的运行方式与SAX解析器相似.它也是事件触发的.Pull解 ...
- Android之DOM解析XML
一.DOM解析方法介绍 DOM是基于树形结构的节点或信息片段的集合,允许开发人员使用DOM API遍历XML树,检索所需数据.分析该结构通常需要加载整个文档和构造树形结构,然后才可以检索和更新节点信息 ...
- Android之SAX解析XML
一.SAX解析方法介绍 SAX(Simple API for XML)是一个解析速度快并且占用内存少的XML解析器,非常适合用于Android等移动设备. SAX解析器是一种基于事件的解析器,事件驱动 ...
随机推荐
- Codeforces Round #515 (Div. 3) 解题报告(A~E)
题目链接:http://codeforces.com/contest/1066 1066 A. Vova and Train 题意:Vova想坐火车从1点到L点,在路上v的整数倍的点上分布着灯笼,而在 ...
- Java中的==符号与equals()的使用(测试两个变量是否相等)
Java 程序中测试两个变量是否相等有两种方式:一种是利用 == 运算符,另一种是利用equals()方法. 当使用 == 来判断两个变量是否相等时,如果两个变量是基本类型变量,且都是数值类型(不一定 ...
- jenkins设置定时任务
每次都手动的构建项目显然不够方便,有时候需要定时地执行自动化测试脚本.例如,每天晚上定时执行 pjenkins.py 文件来运行自动化测试项目. 设置定时任务 前面已经创建的 “python test ...
- [C#] 取得每月第一天和最後一天、某月总天数
思路: 1. DateTime dt= DateTime.Now; //获取当前时间 eg:2013-09-08 09:25:0 0 2. DateTime dt1 = new DateTime(d ...
- Final发布中间产物
目录 ❶版本控制 ❷软件功能说明书 ❸WBS ❹PSP 一.版本控制 ①Git地址:https://git.coding.net/tianjiping/Android-tianjiping.git ② ...
- sprint会议1
昨天:进行第一次站立会议,讨论冲刺阶段,目标,任务认领,制作索引卡. 今天:准备查找安卓APP开发的有关资料,安装有关软件. 遇到的问题:对这方面毫无了解,不知道怎么开始,从哪开始,完全没经验.
- Chapter 1 概述
软件分为通用软件和应用软件,具有复杂.不可见和不断变化的特点:从出现到现在共经历了四个重要的发展阶段,但现在的软件发展依然存在着许多问题. 软件工程是采用工程的概念.原理.技术和方法来开发与维护软件, ...
- BufferedWriter与BufferedRead --------------------------Test2
package com.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; ...
- arcgis 10.3中文版安装教程、配置及常见问题(百度的有些错误)
参考的: 1.http://wenku.baidu.com/link?url=W-wo_lEMvzHxF19w91X7H0WDjyCQ16DjGu4ViaZ4-eVPr0NTU-LrZTPK1oyzT ...
- 【转】python 三种遍历list的方法
[转]python 三种遍历list的方法 #!/usr/bin/env python # -*- coding: utf-8 -*- if __name__ == '__main__': list ...