java使用dom4j生成与解析xml文档的方法示例
作者:青蛙小王子 发布时间:2022-06-18 23:41:56
标签:java,dom4j,xml
本文实例讲述了java使用dom4j生成与解析xml文档的方法。分享给大家供大家参考,具体如下:
xml是一种新的数据格式,主要用于数据交换。我们所用的框架都有涉及到xml。因此解析或生成xml对程序员也是一个技术难点。这里就用dom4j来生成一个文档,需要注意的是每个xml文档只有一个根节点。
package org.lxh;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.UnsupportedEncodingException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class CreateXml {
public static void main(String[] args) {
File f=new File("d:"+File.separator+"my.xml");
Document docu=DocumentHelper.createDocument(); //创建xml文档
Element linkman=docu.addElement("linkman"); //创建根节点
Element name=linkman.addElement("name"); //创建子元素
Element age=linkman.addElement("age");
name.setText("陈瑞银"); //设置name节点的内容
age.setText("22"); //设置age节点的内容
OutputFormat format=OutputFormat.createPrettyPrint(); //指定输出格式
format.setEncoding("UTF-8"); //指定输出编码
try {
XMLWriter w=new XMLWriter(new FileOutputStream(f),format); //输出文件
w.write(docu); //输出内容
w.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
现在看一下文档生成没有,如图所示
文档生成了,这个文档比较简单。生成复杂的文档也是一样的道理。下面来解析一下这个xml。
代码如下所示
package org.lxh;
import java.io.File;
import java.util.Iterator;
import org.dom4j.*;
import org.dom4j.io.SAXReader;
public class ReadXml {
public static void main(String[] args) {
File f=new File("d:"+File.separator+"my.xml");
SAXReader read=new SAXReader(); //建立SAX解析读取
Document document=null;
try {
document=read.read(f); //读取文档
Element root=document.getRootElement(); //取得根元素
//下面给注释的部分用于解析复杂的xml(3层或以上)
/*Iterator it=root.elementIterator(); //取得全部子节点
while(it.hasNext())
{
/*Element e=(Element)it.next();
System.out.println(e.elementText("name")); //取得文本元素
System.out.println(e.elementText("age"));
}*/
System.out.println(root.elementText("age"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
下面是运行效果截图
PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
在线格式化XML/在线压缩XML:
http://tools.jb51.net/code/xmlformat
XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代码在线格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
希望本文所述对大家java程序设计有所帮助。


猜你喜欢
- 近期由于负责项目的一个模块,该模块下有很多分类,每个分类都有一个编码code,这个值是作为一个参数携带过来的。但是每个code确实对应一个方
- annotation就是注解的意思,在我们使用的 * 时,可以通过业务层添加的某个注解,对业务方法进行拦截,之前我们在进行统一方法拦截时使用
- 根据条件改变DataGridView行的颜色可以使用RowPrePaint事件。示例程序界面如下:示例程序代码如下:using System
- FileInputStream流的三种read()函数对比首先我们先创建FileIputStream流对文件进行读取public stati
- 前言最近VS2019正式版发布了,装下来顺便试用了一下C#8.0,最大的看点应该就是可空引用类型了。不过C#8.0仍然处于Beta的状态,而
- Glide 4.0由Google的各种团队内部使用,4.0被认为是内部稳定的。但外部用户可能会发现内部尚未发现的问题。因此,将此作为RC发布
- 原生Toast样式自定义Toast样式创建样式所谓自定义一个Toast就是建立一个布局文件,然后使用一个view容器承载,然后显示出来。To
- 本文为大家分享了java画出五子棋游戏棋盘的方法,供大家参考,具体内容如下棋盘模块:画五子棋棋盘:19条横线、19条竖线步骤一:显示棋盘我有
- 了解YMP框架YMP于2014年10月25日正式发布1.0版本,在此之前就已在实际项目中得到广泛使用,从最初仅限团队内部使用,到合作伙伴的开
- 一.摘要emmmm..对springmvc不太熟练的情况下,如果不出意外的话,项目启动后出现404页面是很烦人。在这里,我记录一下可能会导致
- java线程同步原理java会为每个object对象分配一个monitor,当某个对象的同步方法(synchronizedmethods)被
- 有时我们可能会遇到下图这样一种情况 — 我们需要的资料或教程被分成了几部分存放在多个PDF文件中,不管是阅读还是保存都不是很方便,这时我们肯
- jol(java object layout)需要的依赖<dependency> <
- IDEA SpringBoot项目配置热更新的步骤1.在pom.xml中添加依赖:<dependency><groupId
- 代码如下import java.util.concurrent.Callable;import java.util.concurrent.E
- 在web页面上我们可以通过frameset,iframe嵌套框架很容易实现各种导航+内容的布局界面,而在winform、WPF中实现其实也很
- 接口介绍:识别超过9千种菜品,支持客户创建属于自己的菜品图库,可准确识别图片中的菜品名称、位置、卡路里信息,并获取百科信息,适用于多种客户识
- Spring Cloud Gateway 默认的filter功能和执行顺序有效性Spring Cloud Gateway 2.0.0.REL
- 前言继续动画探索,今天用Flutter制作一个心碎的感觉,灵感来源于今天的股市,哎,心哇凉哇凉的。废话不多说,开始。效果图先上:实现步骤1、
- 很认真的写的一个java版的贪吃蛇游戏,图形界面,支持菜单操作,键盘监听,可加速,减速,统计得分,设定运动速度,设定游戏背景颜色等!应该没有