Java学习之路——利用JDOM对xml文档进行解析等操作实例
来源:互联网 发布:索达ic卡软件 编辑:程序博客网 时间:2024/05/16 01:06
JDOM的目的是成为 Java 特定文档模型,它简化与 XML 的交互并且比使用 DOM 实现更快。由于是第一个 Java 特定模型,JDOM 一直得到大力推广和促进。正在考虑通过“Java 规范请求 JSR-102”将它最终用作“Java 标准扩展”。从 2000 年初就已经开始了 JDOM 开发。
JDOM 与 DOM 主要有两方面不同。首先,JDOM 仅使用具体类而不使用接口。这在某些方面简化了 API,但是也限制了灵活性。第二,API 大量使用了 Collections 类,简化了那些已经熟悉这些类的 Java 开发者的使用。
JDOM 文档声明其目的是“使用 20%(或更少)的精力解决 80%(或更多)Java/XML 问题”(根据学习曲线假定为 20%)。JDOM 对于大多数 Java/XML 应用程序来说当然是有用的,并且大多数开发者发现 API 比 DOM 容易理解得多。JDOM 还包括对程序行为的相当广泛检查以防止用户做任何在 XML 中无意义的事。然而,它仍需要您充分理解 XML 以便做一些超出基本的工作(或者甚至理解某些情况下的错误)。这也许是比学习 DOM 或 JDOM 接口都更有意义的工作。
JDOM 自身不包含解析器。它通常使用 SAX2 解析器来解析和验证输入 XML 文档(尽管它还可以将以前构造的 DOM 表示作为输入)。它包含一些转换器以将 JDOM 表示输出成 SAX2 事件流、DOM 模型或 XML 文本文档。JDOM 是在 Apache 许可证变体下发布的开放源码。
1.以下是用JDOM对xml文档进行写入操作示例:
package com.lcq.java.jdom;/** * 利用JDom进行xml文档的写入操作 * * */import java.io.FileNotFoundException;import java.io.FileOutputStream;import org.jdom.Attribute;import org.jdom.Comment;import org.jdom.Document;import org.jdom.Element;import org.jdom.output.Format;import org.jdom.output.XMLOutputter;public class JdomTest1 {/** * @param args * @throws Exception * @throws FileNotFoundException */public static void main(String[] args) throws Exception {Document document = new Document();//设置元素Element book = new Element("book");//将该元素设置为根元素document.setContent(book);//设置注释Comment commet = new Comment("this is my comment");//将注释加到根元素上book.addContent(commet);//设置元素Element e1 = new Element("url");e1.setAttribute(new Attribute("attr", "attr1"));e1.setAttribute(new Attribute("attr1", "attr1"));e1.setAttribute(new Attribute("attr2", "attr1"));e1.setText("127.0.0.1");//设置元素的属性 Attribute attr = new Attribute("path","localhost"); //将元素e1设置为根元素下的子元素 book.addContent(e1);e1.setAttribute(attr);Element e2 = new Element("title");e2.setText("title");e2.addContent(new Element("name").addContent(new Element("hello")));book.addContent(e2);//设置xml文档输出的格式Format format = Format.getPrettyFormat(); XMLOutputter out = new XMLOutputter(format); //将得到的xml文档输出到文件流中 out.output(document,new FileOutputStream("jdom.xml")); }}
写入的xml文档如图:
2.以下是对xml文档进行解析:
package com.lcq.java.jdom;/** * 利用JDom进行xml文档的读取操作 * * */import java.util.List;import org.jdom.Attribute;import org.jdom.Document;import org.jdom.Element;import org.jdom.JDOMException;import org.jdom.input.SAXBuilder;public class JdomTest2 {/** * @param args * @throws Exception * @throws JDOMException */public static void main(String[] args) throws Exception {//建立解析器SAXBuilder builder = new SAXBuilder();//将解析器与文档关联Document doc = builder.build("jdom.xml");//读取根元素Element e = doc.getRootElement(); //输出根元素的名字System.out.println(e.getName());//获得元素Element url = e.getChild("url");//得到元素的值System.out.println(url.getText());//得到元素的属性列表 List list = url.getAttributes(); for(int i = 0; i < list.size();i++){ Attribute attrs = (Attribute)list.get(i); String name = attrs.getName(); String value = (String)attrs.getValue(); //将属性的名字和值输出 System.out.println(name + "=" + value); }}}
运行的结果是:
用JDOM对xml进行处理可见方便多了,它是处理xml的方式更加符合我们编程习惯。感觉不错。
- Java学习之路——利用JDOM对xml文档进行解析等操作实例
- Java对XML文档进行解析---实例
- 利用JDOM及XPath对XML文件进行创建、查找、增加、删除、保存等操作
- java中利用dom4j对XML文档的创建、解析、查找、修改、保存等操作。
- java中利用dom4j对XML文档的创建、解析、查找、修改、保存等操作。
- java中以JDOM方式来对xml文件进行解析操作
- 【XML解析】(2)利用DOM解析技术对XML文档进行增删改查操作
- java学习之路——利用SAX解析XML实例
- java的xml学习[JDOM方式解析XML文档]
- java与xml之JDOM生成和解析XML文档
- java与xml之JDOM生成和解析XML文档
- c++学习之利用tinyxml库进行对xml解析
- 利用JDOM解析xml步骤实例分析
- XML文档解析之JDOM解析
- Java对XML文档进行解析
- Java解析xml——JDOM解析
- java xml解析 学习笔记(3)——JDOM
- XML之DOM4、JDom等解析方式
- 超群梦幻——我的第一篇博客
- RHEL5.5安装Yum笔记
- Codeforces Beta Round #69 (Div. 2 Only) E题
- emu8086 数据排序
- Contract简介
- Java学习之路——利用JDOM对xml文档进行解析等操作实例
- linux 解压命令汇总
- 笑谈人生
- 从网络读取图片
- GOOGLE的开源测试框架
- jsp的指令和jsp的基本概念
- android3D物体的碰撞——正方体的碰撞
- bat命令
- 关于Linux静态库和动态库的分析