`
and4walker
  • 浏览: 557771 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JDOM

    博客分类:
  • XML
阅读更多
JDOM(Java Document Object Model):java文档对象模型.http://www.jdom.org
DOM被设计为用于完成几乎所有的XML操作任务,同时它又是与语言无关,这就导致DOM的API庞大而复杂。为了给JAVA程序员提供一套简单易用的操作XML的API,java技术专家Jason Hunter和Brett McLaughlin创建了JDOM。
JDOM利用Java语言的优秀特性,包括方法重载,集合,反射以及JAVA程序员熟悉的编程风格,极大的简化了对XML文档的处理。
和DOM类似,JDOM也使用对象树来表示XML文档:
<name>张三</name>
要想得到“张三”这个文本节点,在DOM中:
String content = element.getFirstChild().getNodeValue();
在JDOM中:
String content = element.getText();

注意:JDOM使用SAX解析器(例如Apache的Xerces),默认JDOM使用JAXP来选择解析器。JDOM还可以接收W3C DOM格式的内容,同时,JDOM也提供了从JDOM树到SAX事件流或W3C DOM树的输出机制。

JDOM实例一:JDOM的API使用
JDOMTest.java
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.ProcessingInstruction;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;


public class JDOMTest {

	
	public static void main(String[] args) {
		//1.先创建一个空的文档对象
		Document doc = new Document();
		//2.得到处理指令对象
		ProcessingInstruction pi = new ProcessingInstruction(
				"xml-stylesheet","type='text/xsl' href='student.xsl'");
		//3.添加到文档对象中
		doc.addContent(pi);
		//4.设置根节点
		Element root = new Element("students");
		doc.setRootElement(root);
		//5.设置文本节点
		Element eltStu1 = new Element("student");
		Element eltName1 = new Element("name");
		Element eltAge1 = new Element("age");
		eltName1.setText("张三");
		eltAge1.setText("18");
		//6.将文本节点添加到元素节点<student>下
		eltStu1.addContent(eltName1);
		eltStu1.addContent(eltAge1);
		eltStu1.setAttribute("sn","01");
		//7.将<student>添加到<students>下
		root.addContent(eltStu1);
		//8.构造输出流
		XMLOutputter xmlOut = new XMLOutputter();
		//9.设置XML输出的外观
		Format fmt = Format.getPrettyFormat();
		fmt.setIndent("    ");//四个空格
		fmt.setEncoding("gb2312");
		//10.设置格式与输出相关
		xmlOut.setFormat(fmt);
		try {
			xmlOut.output(doc, System.out);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}

JDOM实例二:对students.xml节点的添加/删除/修改
JDOMConvert.java
import java.io.File;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

public class JDOMConvert {
	
	public static void main(String[] args) {
		//1.构件SAXBuilder
		SAXBuilder saxBuilder = new SAXBuilder();
		try {
			//2.返回DOC对象
			Document doc = saxBuilder.build(new File("students.xml"));
			//3.构建元素对象
			Element eltStu = new Element("student");
			Element eltName = new Element("name");
			Element eltAge = new Element("age");
			//4.设置文本节点值
			eltName.setText("王五");
			eltAge.setText("11");
			//5.把名称跟年龄添加到<student>下
			eltStu.addContent(eltName);
			eltStu.addContent(eltAge);
			eltStu.setAttribute("sn","03");
			//6.构建根元素
			Element root = doc.getRootElement();
			//7.把<student>添加到根元素下
			root.addContent(eltStu);
			//删除功能
			root.removeChild("student");
			//修改功能
			root.getChild("student").getChild("age").setText("33");
			//输出
			XMLOutputter xmlOut = new XMLOutputter();
			Format fmt = Format.getPrettyFormat();
			fmt.setIndent("    ");//四个空格
			fmt.setEncoding("gb2312");
			//设置格式与输出相关
			xmlOut.setFormat(fmt);
			try {
				xmlOut.output(doc, System.out);
			} catch (IOException e) {
				e.printStackTrace();
			}
		} catch (JDOMException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}
分享到:
评论

相关推荐

    JDOM的jar包 jdom-b7.jar

    JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和...

    JDOM 介绍及使用指南

    JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和...

    jdom1.1.3xml解析工具类

    org.jdom包含了所有的xml文档要素的java类 org.jdom.adapters包含了与dom适配的java类 org.jdom.filter包含了xml文档的过滤器类 org.jdom.input包含了读取xml文档的类 org.jdom.output包含了写入xml文档的类 org....

    jdom-1.1-API文档-中文版.zip

    赠送jar包:jdom-1.1.jar; 赠送原API文档:jdom-1.1-javadoc.jar; 赠送源代码:jdom-1.1-sources.jar; 包含翻译后的API文档:jdom-1.1-javadoc-API文档-中文(简体)版.zip 对应Maven信息:groupId:org.jdom,...

    JDOM(java)使用详解及实例

    一、JDOM 简介 JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及...

    Android代码-jdom

    Introduction to the JDOM project Please see the JDOM web site at http://jdom.org/ and GitHub repository at https://github.com/hunterhacker/jdom/ Quick-Start for JDOM See the github wiki for a Primer ...

    jdom2-2.0.6-API文档-中英对照版.zip

    赠送jar包:jdom2-2.0.6.jar; 赠送原API文档:jdom2-2.0.6-javadoc.jar; 赠送源代码:jdom2-2.0.6-sources.jar; 赠送Maven依赖信息文件:jdom2-2.0.6.pom; 包含翻译后的API文档:jdom2-2.0.6-javadoc-API文档-...

    jdom-1.1-API文档-中英对照版.zip

    赠送jar包:jdom-1.1.jar; 赠送原API文档:jdom-1.1-javadoc.jar; 赠送源代码:jdom-1.1-sources.jar; 包含翻译后的API文档:jdom-1.1-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven信息:groupId:...

    JDOM创建XML完整实例和jdom-2.0.5.jar

    在工作中发现jdom生成xml标签如附表1" name="Fb1"version="SW5001-2006"&gt; 不能用冒号的问题root.setAttribute("xsi:type", "fb1")这是错误的。在网络搜索发现有很多人遇到了但是没有详细的解决方案。后来仔细看了...

    jdom源码+jdom.jar

    jdom源码+jdom.jar jdom源码+jdom.jar

    JDOM 介绍及使用

    JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和...

    jdom的两种版本jar包集合

    我在网上找org.jdom.document资源时,发现都要大量c币,但是本人没钱-.-因此在官网上下载了jdom资源包,放在这里希望能帮助到各位童鞋6.6

    jdom2-2.0.6-API文档-中文版.zip

    赠送jar包:jdom2-2.0.6.jar; 赠送原API文档:jdom2-2.0.6-javadoc.jar; 赠送源代码:jdom2-2.0.6-sources.jar; 赠送Maven依赖信息文件:jdom2-2.0.6.pom; 包含翻译后的API文档:jdom2-2.0.6-javadoc-API文档-...

    jdom-1.0,jdom解析xml

    jdom-1.0 jdom jdom-1.0,jdom解析xml

    jdom-1.1.zip jdom-1.1.jar jdom.jar jdom库 jdom操作xml

    jdom-1.1.zip jdom-1.1.jar jdom.jar jdom库 jdom操作xml

    jdomapi帮助文档最新

    jdom的chm文档,查看需要系统安装chm阅读器

    Jdom教程 Jdom教程.pdf

    Jdom教程. .

    jdom帮助(chm版)

    jdom1.0帮助chm版,语言:英文 版本:1.0 注:由于源HTML文件的Title值设定的就是路径名加类名的格式,本人也懒得去手工改了,所以索引功能好像是不能用....除非你愿意输入前面一长串包名,呜呜,好在帮助文件不是太多,so...

    jdom-1.1.2&jdom帮助文档

    压缩包内有jdom-1.1.2和jdom的chm格式的帮助文档,文档的内容来自官网,因而能够保证完整性。

    jdom源代码,包含jdom.jar

    jdom源代码,其中包含jdom.jar

Global site tag (gtag.js) - Google Analytics