- 浏览: 79364 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
lehehe:
http://www.haoservice.com/docs/ ...
公交车查询系统. -
andyihk:
lz的代码有点问题,我是照着lz的方法做的。但发现不行。应该加 ...
JDBC:预编译语句和批量更新- -
lison5566:
读了 比较空洞 没啥收获
数据库设计经验 -
jiyanliang:
引用MockHttpServletRequest reques ...
spring junit 测试 -
mymy828:
方法一就可以,可以生成图片在临时文件夹里,然后和Deleter ...
生成jfreechart的问题
【摘 要】JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。
一、JDOM 简介
JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。
JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和DOM的功能有效地结合起来。
在使用设计上尽可能地隐藏原来使用XML过程中的复杂性。利用JDOM处理XML文档将是一件轻松、简单的事。
JDOM 在2000年的春天被Brett McLaughlin和Jason Hunter开发出来,以弥补DOM及SAX在实际应用当中的不足之处。
这些不足之处主要在于SAX没有文档修改、随机访问以及输出的功能,而对于DOM来说,JAVA程序员在使用时来用起来总觉得不太方便。
DOM的缺点主要是来自于由于Dom是一个接口定义语言(IDL),它的任务是在不同语言实现中的一 个最低的通用标准,并不是为JAVA特别设计的。JDOM的最新版本为JDOM Beta 9。最近JDOM被收录到JSR-102内,这标志着JDOM成为了JAVA平台组成的一部分。
二、JDOM 包概览
JDOM是由以下几个包组成的
org.jdom 包含了所有的xml文档要素的java类
org.jdom.adapters 包含了与dom适配的java类
org.jdom.filter 包含了xml文档的过滤器类
org.jdom.input 包含了读取xml文档的类
org.jdom.output 包含了写入xml文档的类
org.jdom.transform 包含了将jdom xml文档接口转换为其他xml文档接口
org.jdom.xpath 包含了对xml文档xpath操作的类三、JDOM 类说明
1、org.JDOM这个包里的类是你J解析xml文件后所要用到的所有数据类型。
Attribute
CDATA
Coment
DocType
Document
Element
EntityRef
Namespace
ProscessingInstruction
Text
2、org.JDOM.transform在涉及xslt格式转换时应使用下面的2个类
JDOMSource
JDOMResult
org.JDOM.input
3、输入类,一般用于文档的创建工作
SAXBuilder
DOMBuilder
ResultSetBuilder
org.JDOM.output
4、输出类,用于文档转换输出
XMLOutputter
SAXOutputter
DomOutputter
JTreeOutputter
使用前注意事项:
1.JDOM对于JAXP 以及 TRax 的支持
JDOM 支持JAXP1.1:你可以在程序中使用任何的parser工具类,默认情况下是JAXP的parser。
制定特别的parser可用如下形式
SAXBuilder parser
= new SAXBuilder("org.apache.crimson.parser.XMLReaderImpl");
Document doc = parser.build("http://www.cafeconleche.org/");
// work with the document...
JDOM也支持TRaX:XSLT可通过JDOMSource以及JDOMResult类来转换(参见以后章节)
2.注意在JDOM里文档(Document)类由org.JDOM.Document 来表示。这要与org.w3c.dom中的Document区别开,这2种格式如何转换在后面会说明。
以下如无特指均指JDOM里的Document。
四、JDOM主要使用方法
1.Ducument类
(1)Document的操作方法:
Element root = new Element("GREETING");
Document doc = new Document(root);
root.setText("Hello JDOM!");
或者简单的使用Document doc = new Document(new Element("GREETING").setText("Hello JDOM!t"));
这点和DOM不同。Dom则需要更为复杂的代码,如下:
DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance();
DocumentBuilder builder =factory.newDocumentBuilder();
Document doc = builder.newDocument();
Element root =doc.createElement("root");
Text text = doc.createText("This is the root");
root.appendChild(text);
doc.appendChild(root);
注意事项:JDOM不允许同一个节点同时被2个或多个文档相关联,要在第2个文档中使用原来老文档中的节点的话。首先需要使用detach()把这个节点分开来。
(2)从文件、流、系统ID、URL得到Document对象:
DOMBuilder builder = new DOMBuilder();
Document doc = builder.build(new File("jdom_test.xml"));
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(url);
在新版本中DOMBuilder 已经Deprecated掉 DOMBuilder.builder(url),用SAX效率会比较快。
这里举一个小例子,为了简单起见,使用String对象直接作为xml数据源:
public jdomTest() {
String textXml = null;
textXml = "<note>";</note>
textXml = textXml +
"<to>aaa</to><from>bbb</from> <heading> ccc </heading> ddd";
textXml = textXml + "";
SAXBuilder builder = new SAXBuilder();
Document doc = null;
Reader in= new StringReader(textXml);
try {
doc = builder.build(in);
Element root = doc.getRootElement();
List ls = root.getChildren();//注意此处取出的是root节点下面的一层的Element集合
for (Iterator iter = ls.iterator(); iter.hasNext(); ) {
Element el = (Element) iter.next();
if(el.getName().equals("to")){
System.out.println(el.getText());
}
}
}
catch (IOException ex) {
ex.printStackTrace();
}
catch (JDOMException ex) {
ex.printStackTrace();
}
}
(3)DOM的document和JDOM的Document之间的相互转换使用方法,简单!
DOMBuilder builder = new DOMBuilder();
org.jdom.Document jdomDocument = builder.build(domDocument);
DOMOutputter converter = new DOMOutputter();// work with the JDOM document…
org.w3c.dom.Document domDocument = converter.output(jdomDocument);
// work with the DOM document…
2.XML文档输出
XMLOutPutter类:
JDOM的输出非常灵活,支持很多种io格式以及风格的输出
Document doc = new Document(...);
XMLOutputter outp = new XMLOutputter();
outp.output(doc, fileOutputStream); // Raw output
outp.setTextTrim(true); // Compressed output
outp.output(doc, socket.getOutputStream());
outp.setIndent(" ");// Pretty output
outp.setNewlines(true);
outp.output(doc, System.out);
详细请参阅最新的JDOM API手册
3.Element 类:
(1)浏览Element树
Element root = doc.getRootElement();//获得根元素element
List allChildren = root.getChildren();// 获得所有子元素的一个list
List namedChildren = root.getChildren("name");// 获得指定名称子元素的list
Element child = root.getChild("name");//获得指定名称的第一个子元素
JDOM给了我们很多很灵活的使用方法来管理子元素(这里的List是java.util.List)
List allChildren = root.getChildren();
allChildren.remove(3); // 删除第四个子元素
allChildren.removeAll(root.getChildren("jack"));// 删除叫“jack”的子元素
root.removeChildren("jack"); // 便捷写法
allChildren.add(new Element("jane"));// 加入
root.addContent(new Element("jane")); // 便捷写法
allChildren.add(0, new Element("first"));
(2)移动Elements:
在JDOM里很简单
Element movable = new Element("movable");
parent1.addContent(movable); // place
parent1.removeContent(movable); // remove
parent2.addContent(movable); // add
在Dom里
Element movable = doc1.createElement("movable");
parent1.appendChild(movable); // place
parent1.removeChild(movable); // remove
parent2.appendChild(movable); // 出错!
补充:纠错性
JDOM的Element构造函数(以及它的其他函数)会检查element是否合法。
而它的add/remove方法会检查树结构,检查内容如下:
1.在任何树中是否有回环节点
2.是否只有一个根节点
3.是否有一致的命名空间(Namespaces)
(3)Element的text内容读取
<description></description>
A cool demo
// The text is directly available
// Returns "\n A cool demo\n"
String desc = element.getText();
// There's a convenient shortcut
// Returns "A cool demo"
String desc = element.getTextTrim();
(4)Elment内容修改
element.setText("A new description");
3.可正确解释特殊字符
element.setText("<xml> content");</xml>
4.CDATA的数据写入、读出
element.addContent(new CDATA("<xml> content"));</xml>
String noDifference = element.getText();
混合内容
element可能包含很多种内容,比如说
<!---->
Some text
Some child element取table的子元素tr
String text = table.getTextTrim();
Element tr = table.getChild("tr");
也可使用另外一个比较简单的方法
List mixedCo = table.getContent();
Iterator itr = mixedCo.iterator();
while (itr.hasNext()) {
Object o = i.next();
if (o instanceof Comment) {...}
// 这里可以写成Comment, Element, Text, CDATA,ProcessingInstruction, 或者是EntityRef的类型
}
// 现在移除Comment,注意这里游标应为1。这是由于回车键也被解析成Text类的缘故,所以Comment项应为1。
mixedCo.remove(1);
4.Attribute类
String width = table.getAttributeValue("width");//获得attribute
int border = table.getAttribute("width").getIntValue();
table.setAttribute("vspace", "0");//设置attribute
table.removeAttribute("vspace");// 删除一个或全部attribute
table.getAttributes().clear();
5.处理指令(Processing Instructions)操作
一个Pls的例子
| |
| |
目标 数据
处理目标名称(Target)
String target = pi.getTarget();
获得所有数据(data),在目标(target)以后的所有数据都会被返回。
String data = pi.getData();
String type = pi.getValue("type");获得指定属性的数据
List ls = pi.getNames();获得所有属性的名称
6.命名空间操作
<xhtml:html></xhtml:html>
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<xhtml:title>Home Page</xhtml:title>
Namespace xhtml = Namespace.getNamespace("xhtml", "http://www.w3.org/1999/xhtml");
List kids = html.getChildren("title", xhtml);
Element kid = html.getChild("title", xhtml);
kid.addContent(new Element("table", xhtml));
7.XSLT格式转换
使用以下函数可对XSLT转换
最后如果你需要使用w3c的Document则需要转换一下。
public static Document transform(String stylesheet,Document in)
throws JDOMException {
try {
Transformer transformer = TransformerFactory.newInstance()
.newTransformer(new StreamSource(stylesheet));
JDOMResult out = new JDOMResult();
transformer.transform(new JDOMSource(in), out);
return out.getDeocument();
}
catch (TransformerException e) {
throw new JDOMException("XSLT Trandformation failed", e);
}
}
五、用例:
1、生成xml文档:
public class WriteXML{
public void BuildXML() throws Exception {
Element root,student,number,name,age;
root = new Element("student-info"); //生成根元素:student-info
student = new Element("student"); //生成元素:student(number,name,age)
number = new Element("number");
name = new Element("name");
age = new Element("age");
Document doc = new Document(root); //将根元素植入文档doc中
number.setText("001");
name.setText("lnman");
age.setText("24");
student.addContent(number);
student.addContent(name);
student.addContent(age);
root.addContent(student);
Format format = Format.getCompactFormat();
format.setEncoding("gb2312"); //设置xml文件的字符为gb2312
format.setIndent(" "); //设置xml文件的缩进为4个空格
XMLOutputter XMLOut = new XMLOutputter(format);//元素后换行一层元素缩四格
XMLOut.output(doc, new FileOutputStream("studentinfo.xml"));
}
public static void main(String[] args) throws Exception {
WriteXML w = new WriteXML();
System.out.println("Now we build an XML document .....");
w.BuildXML();
System.out.println("finished!");
}
}
生成的xml文档为:
<student-info></student-info>
<student></student>
<number>001</number>
<name>lnman</name>
<age>24</age>
创建XML文档2:
public class CreateXML {
public void Create() {
try {
Document doc = new Document();
ProcessingInstruction pi=new ProcessingInstruction("xml-stylesheet","type="text/xsl" href="test.xsl"");
doc.addContent(pi);
Namespace ns = Namespace.getNamespace("http://www.bromon.org" );
Namespace ns2 = Namespace.getNamespace("other", "http://www.w3c.org" );
Element root = new Element("根元素", ns);
root.addNamespaceDeclaration(ns2);
doc.setRootElement(root);
Element el1 = new Element("元素一");
el1.setAttribute("属性", "属性一");
Text text1=new Text("元素值");
Element em = new Element("元素二").addContent("第二个元素");
el1.addContent(text1);
el1.addContent(em);
Element el2 = new Element("元素三").addContent("第三个元素");
root.addContent(el1);
root.addContent(el2);
//缩进四个空格,自动换行,gb2312编码
XMLOutputter outputter = new XMLOutputter(" ", true,"GB2312");
outputter.output(doc, new FileWriter("test.xml"));
}catch(Exception e) {
System.out.println(e);
}
}
public static void main(String args[]) {
new CreateXML().Create();
}
}
2、读取xml文档的例子:
import org.jdom.output.*;
import org.jdom.input.*;
import org.jdom.*;
import java.io.*;
import java.util.*;
public class ReadXML{
public static void main(String[] args) throws Exception {
SAXBuilder builder = new SAXBuilder();
Document read_doc = builder.build("studentinfo.xml");
Element stu = read_doc.getRootElement();
List list = stu.getChildren("student");
for(int i = 0;i < list.size();i++) {
Element e = (Element)list.get(i);
String str_number = e.getChildText("number");
String str_name = e.getChildText("name");
String str_age = e.getChildText("age");
System.out.println("---------STUDENT--------------");
System.out.println("NUMBER:" + str_number);
System.out.println("NAME:" + str_name);
System.out.println("AGE:" + str_age);
System.out.println("------------------------------");
System.out.println();
}
}
}
3、DTD验证的:
public class XMLWithDTD {
public void validate() {
try {
SAXBuilder builder = new SAXBuilder(true);
builder.setFeature("http://xml.org/sax/features/validation";,true);
Document doc = builder.build(new FileReader("author.xml"));
System.out.println("搞掂");
XMLOutputter outputter = new XMLOutputter();
outputter.output(doc, System.out);
}catch(Exception e) {
System.out.println(e);
}
}
public static void main(String args[]) {
new XMLWithDTD().validate();
}
}
需要说明的是,这个程序没有指明使用哪个DTD文件。DTD文件的位置是在XML中指定的,而 且DTD不支持命名空间,一个XML只能引用一个DTD,所以程序直接读取XML中指定的DTD,程序本身不用指定。不过这样一来,好象就只能使用外部式 的DTD引用方式了?。
4、XML Schema验证的:
public class XMLWithSchema {
String xml="test.xml";
String schema="test-schema.xml";
public void validate() {
try {
SAXBuilder builder = new SAXBuilder(true);
//指定约束方式为XML schema
builder.setFeature("http://apache.org/xml/features/validation/schema";, true);
//导入schema文件
builder.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation";,schema);
Document doc = builder.build(new FileReader(xml));
System.out.println("搞掂");
XMLOutputter outputter = new XMLOutputter();
outputter.output(doc, System.out);
}catch(Exception e) {
System.out.println("验证失败:"+e);
}
}
}
上面的程序就指出了要引入的XML Schema文件的位置。
系统默认输出是UTF-8,这有可能导致出现乱码。
5、Xpath例子:
JDOM的关于XPATH的api在org.jdom.xpath这个包里。这个包下,有一个抽象类 XPath.java和实现类JaxenXPath.java, 使用时先用XPath类的静态方法newInstance(String xpath)得到XPath对象,然后调用它的selectNodes(Object context)方法或selectSingleNode(Object context)方法,前者根据xpath语句返回一组节点(List对象);后者根据一个xpath语句返回符合条件的第一个节点(Object类 型)。请看jdom-1.0自带的范例程序:
它分析在web.xml文件中的注册的servlet的个数及参数个数,并输出角色名。
web.xml文件:
<!---->
<web-app> </web-app>
<servlet> </servlet>
<servlet-name>snoop</servlet-name>
<servlet-class>SnoopServlet</servlet-class>
<servlet> </servlet>
<servlet-name>file </servlet-name>
<servlet-class>ViewFile</servlet-class>
<init-param> </init-param>
<param-name>initial</param-name>
<param-value>1000</param-value>
<description>The initial value for the counter <!----></description>
<servlet-mapping> </servlet-mapping>
<servlet-name>mv</servlet-name>
<url-pattern>*.wm</url-pattern>
<distributed> </distributed>
<security-role> </security-role>
<role-name>manager</role-name>
<role-name>director</role-name>
<role-name>president</role-name>
处理程序:
import java.io.*;
import java.util.*;
public class XPathReader {
public static void main(String[] args) throws IOException, JDOMException {
if (args.length != 1) {
System.err.println("Usage: java XPathReader web.xml");
return;
}
String filename = args[0];//从命令行输入web.xml
PrintStream out = System.out;
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(new File(filename));//得到Document对象
// Print servlet information
XPath servletPath = XPath.newInstance("//servlet");//,选择任意路径下servlet元素
List servlets = servletPath.selectNodes(doc);//返回所有的servlet元素。
out.println("This WAR has "+ servlets.size() +" registered servlets:");
Iterator i = servlets.iterator();
while (i.hasNext()) {//输出servlet信息
Element servlet = (Element) i.next();
out.print("\t" + servlet.getChild("servlet-name")
.getTextTrim() +
" for " + servlet.getChild("servlet-class")
.getTextTrim());
List initParams = servlet.getChildren("init-param");
out.println(" (it has " + initParams.size() + " init params)");
}
// Print security role information
XPath rolePath = XPath.newInstance("//security-role/role-name/text()");
List roleNames = rolePath.selectNodes(doc);//得到所有的角色名
if (roleNames.size() == 0) {
out.println("This WAR contains no roles");
} else {
out.println("This WAR contains " + roleNames.size() + " roles:");
i = roleNames.iterator();
while (i.hasNext()) {//输出角色名
out.println("\t" + ((Text)i.next()).getTextTrim());
}
}
}
}
输出结果:
C:\java>java XPathReader web.xml
This WAR has 2 registered servlets:
snoop for SnoopServlet (it has 0 init params)
file for ViewFile (it has 1 init params)
This WAR contains 3 roles:
manager
director
president
6、数据输入要用到XML文档要通过org.jdom.input包,反过来需要org.jdom.output。如前面所说,关是看API文档就能够使用。
我们的例子读入XML文件exampleA.xml,加入一条处理指令,修改第一本书的价格和作者,并添加一条属性,然后写入文件exampleB.xml:
//exampleA.xml
<booklist> </booklist>
<book> </book>
<name>Java编程入门</name>
<author>张三</author>
<publishdate>2002-6-6</publishdate>
<price>35.0</price>
<book> </book>
<name>XML在Java中的应用</name>
<author>李四</author>
<publishdate>2002-9-16</publishdat>
发表评论
-
Apache url rewrite Flag
2012-02-25 14:22 0C (chained with next rule) CO=c ... -
设计模式趣谈
2008-08-23 14:20 1032创建型模式 1、FACTORY— ... -
从JVM内存管理的角度谈谈静态方法和静态属性
2008-08-16 13:32 1194从JVM内存管理的角度谈谈静态方法和静态属性 作者 ... -
传值还是传址
2008-08-12 11:01 961基本类型和基本类型变量被当作参数传递给方法时,是值传递。在方 ... -
发送飞鸽信息
2008-07-24 13:54 1236import java.io.IOException; i ... -
主题: 通过浏览器打开指定链接
2007-11-26 17:44 998java 代码 package test.bo ... -
Tomcat性能调整
2007-11-14 09:57 1427omcat性能调整 1. 如何加 ... -
HTTP协议状态码的含义
2007-11-14 09:43 865"100" : Continue &qu ... -
Eclipse 插件
2007-11-02 10:01 1125Eclipse下载 EMF,GEF - Graphical E ... -
jstl fn:
2007-09-01 20:16 1767... -
考勤计算
2007-08-07 10:30 1310java 代码 package net.enso ... -
JDK1.5新语法
2007-08-06 10:10 18961 - 泛性编程 ArrayList<String ... -
我的收藏
2007-07-24 15:43 1086http://www.ibm.com/developerwor ... -
OSCache 缓存对象的总结
2007-07-19 15:27 4471OSC ... -
eclipse 启动参数设置
2007-07-16 10:50 1108eclipse使用java启动,而java是可以增加这些参数的 ... -
DOS命令大全(经典收藏)
2007-07-12 18:04 1029DOS命令大全(经典收藏) ... -
公交车查询系统.
2007-07-11 15:53 2299我在看google map 的时候,看到有api可以免费的让我 ... -
JFreeChar API
2007-07-04 14:30 1217------------------------------- ...
相关推荐
### JDOM介绍及使用指南 #### 一、JDOM包概览 JDOM是一个轻量级的Java XML API,它提供了简洁的API用于处理XML文档。JDOM的主要优点在于其简单性和易于使用性,适用于那些希望避免DOM的复杂性和SAX的事件驱动模型...
### JDOM介绍与使用 #### 一、JDOM概述 JDOM是一个专为Java编程语言设计的开源项目,用于解析、生成、序列化XML文档。它由Brett McLaughlin和Jason Hunter在2000年创建,旨在解决DOM和SAX在实际应用中的局限性。...
JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和...
通过以上介绍,我们可以看出JDOM是一个强大的XML处理库,为Java开发者提供了简洁且高效的API来处理XML文档。无论是在创建新的XML文档,还是解析、修改现有文档,JDOM都提供了丰富的功能,使得XML操作变得更加简单。
本篇文档《JDOM使用详解及实例(解析xml).pdf》将对JDOM的使用方法进行详细介绍,并提供实例来指导用户如何解析XML。 首先,JDOM提供了一种基于对象的XML表示方式。与DOM(文档对象模型)不同,JDOM不需要将XML文档...
**五、JDOM API简要介绍** - `Element`: 表示XML元素,可以通过`addChild(Element)`添加子元素,`addAttribute(Attribute)`添加属性,`getText()`获取文本内容。 - `Attribute`: 代表元素的属性,通过`setName...
`jdom-b3-docs.zip`可能包含JDOM的API文档,这对于理解和使用库中的各种类和方法至关重要。开发者可以通过查看这些文档来了解如何正确地使用JDOM进行XML操作。 总的来说,JDOM是一个强大的XML处理工具,它为Java...
本教程主要介绍了如何使用JDOM进行XML文档的操作。 #### 二、构建XML文档 JDOM提供了简单易用的方法来构建XML文档,主要包括创建根元素、添加属性、添加子元素等操作。 ##### 1. 创建根元素 ```java Element ...
接下来,我们将详细介绍使用JDOM读取XML文件的步骤: 1. 加载XML文件:使用`SAXBuilder`类来读取XML文件并构建DOM树。如下所示: ```java import org.jdom2.Document; import org.jdom2.input.SAXBuilder; public...
下面将详细介绍如何使用JDOM进行XML文件的读取和写入。 ### XML文件的读取 1. **引入JDOM库**:首先,你需要在项目中引入JDOM的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml ...
本文将详细介绍JDOM-1.0版本在解析XML方面的核心概念和技术。 ### JDOM简介 JDOM是由Jason Hunter和Brett McLaughlin发起的一个开源项目,其目标是为Java开发者提供一个高效的、与DOM(Document Object Model)...
本文将详细介绍JDOM v1.1 API的核心概念、功能以及如何使用。 ### JDOM的基本概念 1. **Element(元素)**:XML文档中的基本构建块,它可以包含其他元素、文本、属性等。在JDOM中,`org.jdom.Element`类代表XML...
本文将详细介绍如何在Android环境下使用JDOM库,并探讨其核心概念和功能。 首先,JDOM(Java Document Object Model)是一个纯Java实现的API,它提供了与W3C DOM(Document Object Model)兼容的接口,但设计上更...
Java JDOM解析XML是Java开发中处理XML文档的一种方法,...以上就是关于Java JDOM解析XML的基本介绍。在实际开发中,根据具体需求,你可以结合JDOM提供的各种方法进行XML文档的读取、修改和创建,以实现灵活的数据处理。
JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。...在接下来的篇幅里将介绍怎么用Jdom去读写一个已经存在的XML文档。
1. **JDOM库介绍**: JDOM是Java Document Object Model的缩写,它为XML文档提供了一个内存中的表示形式。JDOM允许开发者创建、修改和保存XML文档,支持XPath查询,并且与Java集合类完全兼容。 2. **连接MySQL**:...
`jdom-test-1.1.1.zip`文件包含了这些测试代码,对于学习JDOM的使用和理解其内部机制具有很高的价值。 总之,JDOM 1.1.1为Java开发者提供了一种强大的工具,用于处理XML文档。它的面向对象设计、XPath支持以及丰富...
通过以上介绍,我们可以看到JDOM为Java开发者提供了一个强大的工具,用于解析和操作XML文档。无论是在小型项目还是大型系统中,掌握JDOM都能极大地提升开发效率和代码质量。在实际应用中,根据项目需求选择合适的XML...
下面将详细介绍JDOM 1.0的核心概念和主要功能。 1. **基本概念** - **Document对象**:代表整个XML文档,包括根元素和相关的处理指令。 - **Element对象**:表示XML文档中的元素,可以包含其他元素、属性和文本。...
本教程将深入探讨如何使用JDOM库在Java中生成XML文档,并且重点介绍如何处理中文字符。 JDOM(Java Document Object Model)是一个纯Java的API,用于读取、写入和操作XML文档。它提供了简单而直接的方式来创建和...