Jdom 写入XML 文件:
package com.rui.jdom;
import java.io.FileOutputStream;
import java.io.FileWriter;
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;
/**
* 写入XML文档
*/
public class JDomTest1 {
public static void main(String[] args) throws Exception {
// 构造文档
Document document = new Document();
Element root = new Element("root");
document.addContent(root);
// 增加注释
Comment comment = new Comment("This is my comments");
root.addContent(comment);
// 增加子元素
Element e = new Element("hello");
// 增加属性
e.setAttribute("google","www.google.com");
root.addContent(e);
Element e2 = new Element("world");
Attribute attr = new Attribute("test", "haha");
Attribute attr2 = new Attribute("test2","测试");
// 方法链的编程风格 (method chain style)
e2.setAttribute(attr).setAttribute(attr2)
.setAttribute("x", "y").setAttribute("a","b")
.setText("文本");
e.addContent(e2);
// 格式化XML文件
// Format format = Format.getRawFormat();
Format format = Format.getPrettyFormat();
// 设置缩进
format.setIndent(" ");
// 设置文件编码, 默认为UTF-8
// format.setEncoding("UTF-8");
// 输出文档
XMLOutputter out = new XMLOutputter(format);
// out.output(document, new FileOutputStream("jdom.xml"));
out.output(document, new FileWriter("jdom.xml"));
}
}
对应XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<!--This is my comments-->
<hello google="www.google.com">
<world test="haha" test2="测试" x="y" a="b">文本</world>
</hello>
</root>
JDom 读写XML文件:
package com.rui.jdom;
import java.io.FileOutputStream;
import java.util.List;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
/**
* 读入XML文档
*/
public class JDomTest2 {
public static void main(String[] args) throws Exception {
SAXBuilder builder = new SAXBuilder();
Document doc =builder.build("jdom.xml");
Element element = doc.getRootElement();
System.out.println(element.getName());
Element hello = element.getChild("hello");
List list = hello.getAttributes();
for(int i=0;i<list.size();i++){
Attribute attr = (Attribute)list.get(i);
String attrName = attr.getName();
String attrValue = attr.getValue();
System.out.println(attrName + "=" + attrValue);
}
Element world = hello.getChild("world");
list = world.getAttributes();
for(int i=0;i<list.size();i++){
Attribute attr = (Attribute)list.get(i);
String attrName = attr.getName();
String attrValue = attr.getValue();
System.out.println(attrName + "=" + attrValue);
}
hello.removeChild("world");
XMLOutputter out = new XMLOutputter(Format.getPrettyFormat().setIndent(" "));
out.output(doc, new FileOutputStream("jdom2.xml"));
System.out.println(hello.getName());
System.out.println(hello.getText());
//不必写: System.exit(0); // 相当于: Runtime.getRuntime().exit(0);
}
}
对应XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<!--This is my comments-->
<hello google="www.google.com" />
</root>
项目如附件:
分享到:
相关推荐
使用JDOM,我们可以通过API操作这些节点来实现对XML的解析和操作。 要读取XML文件,首先需要在项目中引入JDOM库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.jdom ...
本篇文章将详细探讨JDOM在读写XML操作中的应用。 ### 1. JDOM简介 JDOM是一个针对Java的DOM(Document Object Model)实现,旨在为Java开发者提供一个高效且灵活的方式来处理XML文档。它提供了直接在内存中构建和...
在Java编程中,JDOM(Java Document Object Model)是处理XML的一种库,它提供了方便的方式来创建、修改和读取XML文档。本篇文章将深入探讨如何使用JDOM解析XML文件。 首先,我们需要理解JDOM的基本结构。JDOM通过...
在"使用Struts,jdom对xml数据进行操作"这个主题中,我们主要会探讨如何在基于Struts的Web应用中,利用JDOM来管理存储在XML文件中的数据。首先,让我们深入了解这两个技术: **Struts框架**: 1. **架构**:Struts...
- **优点**:JDOM提供了对XML的高性能访问,支持XPath查询,且完全基于Java,无需依赖其他库,如DOM或SAX。 2. **JDOM基本结构** - **Element(元素)**:XML文档中的每一个节点,可以包含子元素、属性和文本。 ...
JDOM是两位著名的 Java 开发人员兼作者,Brett Mclaughlin 和 Jason Hunter 的创作成果, 2000 年初在类似于 Apache 协议的许可下,JDOM 作为一个开放源代码项目正式开始研发,JDOM 作为一个开放源代码项目正式开始...
NULL 博文链接:https://wen2006953.iteye.com/blog/1769333
在Java编程中,JDOM(Java Document Object Model)是处理XML的一种流行库,它提供了方便的方式来创建、修改和解析XML文档。本篇文章将深入探讨JDOM库如何实现XML文件的读取操作。 首先,为了使用JDOM,我们需要在...
JDOM,全称为Java Document Object Model,是一种专为Java设计的XML处理API,它提供了对XML文档结构的完整映射,使得我们可以方便地创建、读取和修改XML文件。下面将详细介绍如何使用JDOM来读取XML文件。 首先,...
本文将对JDOM和XML的解析进行详细介绍,并进行两者之间的比较。 **JDOM** JDOM(Java Document Object Model)是Java平台上的一个XML处理库,它提供了一种直接在Java对象层次上操作XML文档的方法。JDOM的主要优势...
在`modify()`方法中,同样使用了`SAXBuilder`解析XML文件,生成`Document`对象,然后可以对文档进行修改。例如,如果想要修改特定元素的属性或内容,可以找到相应的元素并调用相应的修改方法。 DOM4J和JDOM之间的...
XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,特别是在Java应用程序中,XML经常被用作数据交换的...同时,要注意在处理大型XML文件时可能存在的性能问题,以及在反射操作中对类结构的依赖。
在IT领域,特别是软件开发与数据处理中,对XML(可扩展标记语言)文件的解析与操作是一项基本而重要的技能。XML作为一种标准的数据交换格式,广泛应用于不同系统间的数据通信和存储。JDOM是一个用于Java的开源XML ...
最后,为了保存对XML文件的修改,我们需要创建`Transformer`并将其应用于`Document`: ```java import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml....
这使得开发人员能够非常直观地对XML文档进行读取、修改和创建。JDOM的核心类包括: - `Document`:代表整个XML文档。 - `Element`:代表XML文档中的元素节点。 - `Text`:代表元素中的文本内容。 - `Attribute`:...
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在数据交换、配置文件、文档存储等领域。...在实际开发中,结合这些工具,我们可以轻松地实现对XML数据的读取、修改和生成。
### JDOM 读取与修改 XML 文件 #### JDOM 简介 JDOM(Java Document Object Model)是一个用于处理 XML 数据的 Java 库。它提供了面向对象的 API 来解析、创建和修改 XML 文档。JDOM 的设计非常直观且易于使用,...
7. **修改XML**: JDOM支持对XML进行修改,包括添加、删除和更新元素、属性等。修改后,需要使用`XMLOutputter`来生成新的XML字符串或写入到文件。 ```java XMLOutputter xmlOutput = new XMLOutputter(); xml...