s拷贝粘贴而来f
1.Ducument类
(1)Document的操作方法:
Element root=new Element("GREETING");
Document doc=new Document(root);
root.setText("HelloJDOM!");
或者简单的使用Document doc=new Document(new Element("GREETING").setText("HelloJDOM!t"));
这点和DOM不同。Dom则需要更为复杂的代码,如下:
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Documentdoc=builder.newDocument();
Element root=doc.createElement("root");
Text text=doc.createText("Thisistheroot");
root.appendChild(text);
doc.appendChild(root);
注意事项:JDOM不允许同一个节点同时被2个或多个文档相关联,要在第2个文档中使用原来老文档中的节点的话。首先需要使用detach()把这个节点分开来。
(2)从文件、流、系统ID、URL得到Document对象:
DOMBuilder builder=new DOMBuilder();
Document doc=builder.build(newFile("jdom_test.xml"));
SAXBuilder builder=new SAXBuilder();
Document doc=builder.build(url);
在新版本中DOMBuilder已经Deprecated掉 DOMBuilder.builder(url),用SAX效率会比较快。
这里举一个小例子,为了简单起见,使用String对象直接作为xml数据源:
Public jdom Test(){
String textXml=null;
textXml="";
textXml=textXml+
"aaabbbcccddd";
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(Iteratoriter=ls.iterator();iter.hasNext();){
Element el=(Element)iter.next();
if(el.getName().equals("to")){
System.out.println(el.getText());
}
}
}
catch(IOExceptionex){
ex.printStackTrace();
}
catch(JDOMExceptionex){
ex.printStackTrace();
}
}
(3)DOM的document和JDOM的Document之间的相互转换使用方法,简单!
DOMBuilder builder=new DOMBuilder();
org.jdom.Document jdomDocument=builder.build(domDocument);
DOMOutputter converter=newDOMOutputter();//workwiththeJDOMdocument…
org.w3c.dom.Document domDocument=converter.output(jdomDocument);
//workwiththeDOMdocument…
2.XML文档输出
XMLOutPutter类:
JDOM的输出非常灵活,支持很多种io格式以及风格的输出
Document doc=newDocument(...);
XMLOutputter outp=newXMLOutputter();
outp.output(doc,fileOutputStream);//Rawoutput
outp.setTextTrim(true);//Compressedoutput
outp.output(doc,socket.getOutputStream());
outp.setIndent("");//Prettyoutput
outp.setNewlines(true);
outp.output(doc,System.out);
详细请参阅最新的JDOMAPI手册
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(newElement("jane"));//加入
root.addContent(newElement("jane"));//便捷写法
allChildren.add(0,newElement("first"));
(2)移动Elements:
在JDOM里很简单
Element movable=newElement("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内容读取
Acooldemo
//Thetextisdirectlyavailable
//Returns"\nAcooldemo\n"
String desc=element.getText();
//There'saconvenientshortcut
//Returns"Acooldemo"
String desc=element.getTextTrim();
(4)Elment内容修改
element.setText("Anewdescription");
3.可正确解释特殊字符
element.setText("
sdf拷贝粘贴而来sd
分享到:
相关推荐
#### 三、JDOM主要使用方法 ##### 1. Document类的操作方法 - **创建Document对象**: ```java Element root = new Element("GREETING"); Document doc = new Document(root); root.setText("Hello JDOM!"); ...
JDOM的主要使用方法包括: - 创建`Document`对象:可以先创建一个`Element`作为根节点,然后构建`Document`,或者直接通过`Document`的构造函数创建带有文本的根节点。 - `Document`的操作:包括添加、删除、修改...
在使用JDOM时,有几个关键类和方法值得注意: - `Document`类是JDOM的核心,代表整个XML文档。你可以通过创建一个新的Element对象作为根元素来初始化一个Document,然后设置其文本内容,如下所示: ```java ...
这些不足之处主要在于SAX没有文档修改、随机访问以及输出的功能,而对于DOM来说,JAVA程序员在使用时来用起来总觉得不太方便。 DOM的缺点主要是来自于由于Dom是一个接口定义语言(IDL),它的任务是在不同语言实现中...
JDOM主要包含以下几个包: 1. `org.jdom`: 包含所有XML文档元素的Java类。 2. `org.jdom.adapters`: 提供与DOM的适配器类。 3. `org.jdom.filter`: 提供XML文档过滤器类。 4. `org.jdom.input`: 包含读取XML文档的类...
1. **纯Java实现**:JDOM完全使用Java编写,能够充分利用Java的强大特性,如方法重载、集合和映射等。 2. **文档操作简便**:通过JDOM可以轻松进行XML文档的解析、生成和序列化等操作,同时支持文档的修改和随机访问...
4. **JDOM包结构**:JDOM主要由四个包组成: - `org.jdom`:包含所有处理XML文档的数据类型,如`Element`、`Attribute`、`Document`等。 - `org.jdom.input`:包含输入类,用于创建XML文档,如`SAXBuilder`、`...
1. **jdom-2.0.6-javadoc.jar**: 包含了JDOM 2.0.6版本的API文档,开发者可以通过查看这个JAR来了解JDOM的所有类、接口和方法,便于学习和使用。 2. **jdom-2.0.6-sources.jar**: 提供了JDOM 2.0.6的源代码,开发者...
5. **Builder(构建器)**:JDOM 使用 Builder 类来解析 XML 文档并创建相应的 DOM 树。有 SAXBuilder 和 DOMBuilder 两种,分别基于 SAX 和 DOM 解析器。 **JDOM 的主要功能** 1. **解析 XML**:JDOM 提供了多种...
`jdom-b3-docs.zip`可能包含JDOM的API文档,这对于理解和使用库中的各种类和方法至关重要。开发者可以通过查看这些文档来了解如何正确地使用JDOM进行XML操作。 总的来说,JDOM是一个强大的XML处理工具,它为Java...
### JDOM教程知识点详解 #### 一、JDOM简介 ...通过上述知识点的学习,我们可以了解到JDOM的基本使用方法,包括创建XML文档、解析XML文档以及使用XPath进行查询等功能。这对于开发者来说是非常有价值的工具。
3. **帮助文档**:这可能包括API文档、用户指南或者教程,它们详细解释了JDOM的各种类和方法,以及如何有效地使用这些工具。对于初学者来说,这是一份非常宝贵的资源,可以帮助他们理解JDOM的工作原理和最佳实践。 ...
在本文中,我们将深入探讨JDOM的核心概念、主要功能以及如何在实际开发中应用它。 ### JDOM的基本概念 1. **Element(元素)**:在XML中,元素是最基本的构建块,代表文档的结构。在JDOM中,`org.jdom.Element`类...
JDOM主要包含以下核心类: 1. **Element**: 表示XML文档的元素,是XML文档结构的基本单元。你可以通过`Element`类创建新的元素,并设置其属性和子元素。 2. **Attribute**: 用于表示XML元素的属性,每个属性都有一...
JDOM-1.1.1的JAR文件是库的主要组成部分,包含所有必要的类和方法,用于读取、写入、构建和操作XML文档。在项目中,你可以通过将这个JAR文件添加到类路径上来使用JDOM的功能。例如,你可以使用`org.jdom.Document`类...
- **jdom-2.0.1-javadoc.jar**:这个 jar 包包含了 JDOM 的 API 文档,有助于开发者了解每个类和方法的功能。 - **README.txt** 和 **LICENSE.txt**:分别提供了 JDOM 的使用说明和授权协议信息。 - **jdom-2.0.1-...
**三、JDOM主要使用方法** 1. `Document`类: - 创建`Document`对象通常从`Element`开始,如`new Document(new Element("root"))`。 - 设置文档根元素的文本内容,可直接在`Element`构造函数中设置。 - 节点的...
3. **jdom-1.1-javadoc.jar**:Javadoc文档,提供了API接口的详细说明,帮助开发者理解和使用JDOM的各种方法和类。 4. **README.txt**或类似的文件:包含了关于JDOM-1.1的一些基本信息和安装指南。 5. **LICENSE**...
这些源代码包含了所有JDOM类和方法的实现,如Element、Attribute、Document等核心类,以及解析和写入XML的Builder类。通过阅读源码,你可以深入理解JDOM如何与XML文档交互,如何解析XML流,以及如何构建和修改XML...
然后,可以使用`Element`、`Attribute`等类以及XPath查询来处理XML结构。 - **优点**:API简洁,支持XPath,功能强大,适用于大型XML文档。 - **缺点**:相比于JDOM,DOM4J的内存消耗可能会稍大,因为它是基于DOM的...