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是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和...
JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和...
org.jdom包含了所有的xml文档要素的java类 org.jdom.adapters包含了与dom适配的java类 org.jdom.filter包含了xml文档的过滤器类 org.jdom.input包含了读取xml文档的类 org.jdom.output包含了写入xml文档的类 org....
赠送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 简介 JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及...
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 ...
赠送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文档-...
赠送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标签如附表1" name="Fb1"version="SW5001-2006"> 不能用冒号的问题root.setAttribute("xsi:type", "fb1")这是错误的。在网络搜索发现有很多人遇到了但是没有详细的解决方案。后来仔细看了...
jdom源码+jdom.jar jdom源码+jdom.jar
JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和...
我在网上找org.jdom.document资源时,发现都要大量c币,但是本人没钱-.-因此在官网上下载了jdom资源包,放在这里希望能帮助到各位童鞋6.6
赠送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 jdom-1.0,jdom解析xml
jdom-1.1.zip jdom-1.1.jar jdom.jar jdom库 jdom操作xml
jdom的chm文档,查看需要系统安装chm阅读器
Jdom教程. .
jdom1.0帮助chm版,语言:英文 版本:1.0 注:由于源HTML文件的Title值设定的就是路径名加类名的格式,本人也懒得去手工改了,所以索引功能好像是不能用....除非你愿意输入前面一长串包名,呜呜,好在帮助文件不是太多,so...
压缩包内有jdom-1.1.2和jdom的chm格式的帮助文档,文档的内容来自官网,因而能够保证完整性。
jdom源代码,其中包含jdom.jar