功能:
1、使用JDOM读取Xml文件,包括Xpath读取单个节点或多个节点列表;
2、使用JDOM构建一个简单XML文档对象,并进行存储;XML模板文件
<?xml version="1.0" encoding="UTF-8"?>
<configure>
<jdbcInfo>
<driver>oracle.jdbc.driver.OracleDriver</driver>
<url>jdbc:oracle:thin:@localhost:1521:orcl</url>
<username>scott</username>
<password>scottlxd</password>
</jdbcInfo>
<beans>
<bean id="beanDao" class="com.xdzj.dao.bean1"></bean>
<bean id="beanService" class="com.xdzj.service.bean2"></bean>
</beans>
</configure>
Java文件
package com.work;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
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;
import org.jdom.xpath.XPath;
public class JdomReadXml {
private static JdomReadXml jdomReadXml = null;
private static Element rootElement = null;
private JdomReadXml() {
}
public static JdomReadXml getInstance() {
if (jdomReadXml == null) {
jdomReadXml = new JdomReadXml();
}
return jdomReadXml;
}
/**
* 初始化文档对象
* @param filePath
*/
public void loadXmlResource(String filePath) {
SAXBuilder builder = new SAXBuilder();
try {
Document doc = builder.build(new File(filePath));
rootElement = doc.getRootElement();
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 一、使用JDOM读取单个的节点
* 采用Xpath路径读取
*/
public void initJdbcInfo() {
try {
Element driver = (Element) XPath.selectSingleNode(rootElement,
"//configure/jdbcInfo/driver");
System.out.println(driver.getText());
} catch (JDOMException e) {
e.printStackTrace();
}
}
/**
* 二、使用JDOM读取一个节点列表
*/
public void initBeans(){
try {
List<?> elementList = XPath.selectNodes(rootElement, "//configure/beans/bean");
for(Object e : elementList){
Element element = (Element)e;
String id = element.getAttributeValue("id");
String clszz = element.getAttributeValue("class");
System.out.print(id + "\t" + clszz);
System.out.println();
}
} catch (JDOMException e) {
e.printStackTrace();
}
}
/**
* 三、使用JDOM创建Xml文件
*/
public void createXmlExcample(){
Element root = new Element("selects");
Element select = new Element("select");
Element id = new Element("id");
// 设置值
id.addContent("1");
Element name = new Element("name");
name.addContent("小迪之家");
select.addContent(id);
select.addContent(name);
root.addContent(select);
Document document = new Document();
document.addContent(root);
// 使用XMLOutputter对象进行输出
XMLOutputter out = new XMLOutputter();
// 设置输出编码格式
out.setFormat(Format.getCompactFormat().setEncoding("GBK")); String docStr = out.outputString(document);
System.out.println(docStr);
try {
out.output(document, new FileOutputStream("src/com/test.xml"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 测试方法
* @param args
*/
public static void main(String[] args) {
String filePath = "src/com/jdomXmlTemplate.xml";
JdomReadXml jdomReadXml = JdomReadXml.getInstance();
jdomReadXml.loadXmlResource(filePath);
jdomReadXml.initJdbcInfo();
jdomReadXml.initBeans();
jdomReadXml.createXmlExcample();
}
}
分享到:
相关推荐
下面是一个使用SAXBuilder解析XML文件的示例: ```java import org.jdom2.Document; import org.jdom2.input.SAXBuilder; public class JdomExample { public static void main(String[] args) { try { ...
要使用JDOM读取XML文件,我们需要以下几个步骤: 1. 引入JDOM库:在项目中添加JDOM的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.jdom <artifactId>jdom2 <version>...
本篇我们将聚焦于JDOM库,这是一个Java API,专门用于处理XML文档的创建和读取。JDOM提供了一个直接映射到XML文档的Java对象模型,使得操作XML变得更为便捷。 首先,让我们深入理解JDOM的基本概念。JDOM的核心类...
本教程将深入探讨如何使用JDOM读取XML文件,并阐述其在Spring框架中的应用。 首先,我们了解JDOM的基本概念。JDOM提供了一种树型结构来表示XML文档,其中XML元素、属性、文本和注释等都对应于特定的Java对象。通过...
标题“JDom 读写XML”指的是使用JDom库进行XML文档的处理,包括读取和写入操作。JDom是一个Java API,它为XML文档提供了全面且高性能的处理能力,使得开发者能够方便地构建、修改和访问XML数据。 **JDom详解** 1. ...
通过这个简单的示例,我们了解了如何使用 JDOM 库来读取、解析、修改和保存 XML 文件。JDOM 提供了一个强大而直观的 API,使得开发者能够更加高效地处理 XML 数据。对于需要频繁与 XML 数据交互的应用程序来说,JDOM...
**JDOM解析XML文件** ...通过这种方式,JDOM为Java开发者提供了一种强大且灵活的工具来处理XML数据,使得在程序中处理XML文档变得简单而直观。无论是读取配置文件、解析服务响应还是构建复杂的XML结构,JDOM都能胜任。
虽然本示例主要介绍了JDOM的操作方法,但根据描述中的建议,也可以考虑使用DOM4J进行XML文件的操作。DOM4J是一个功能强大的XML处理工具包,相比JDOM具有更丰富的特性和支持。例如: - DOM4J提供了更灵活的数据结构和...
- **优化策略**:如果确实需要处理大型XML文件,可以使用JDOM的SAXBuilder,它允许以SAX方式读取XML,但仍然使用JDOM API进行操作。 6. **示例代码** ```java import org.jdom2.Document; import org.jdom2....
本篇文章将详细探讨JDOM在读写XML操作中的应用。 ### 1. JDOM简介 JDOM是一个针对Java的DOM(Document Object Model)实现,旨在为Java开发者提供一个高效且灵活的方式来处理XML文档。它提供了直接在内存中构建和...
这段代码中,我们首先加载了XML文件,然后使用`SAXBuilder`类的`build()`方法解析XML内容,并获取文档的根元素。最后关闭输入流,并输出根元素的名称。 #### 三、将字符串解析为XML 除了解析文件之外,JDOM还支持...
以下是一个简单的示例,展示了如何读取XML文件并获取根元素: ```java import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; import java.io.File; public class ...
解析XML文档通常涉及读取文件并将其转换为JDOM对象。以下是一个基本示例: ```java import org.jdom2.Document; import org.jdom2.input.SAXBuilder; public class XmlDocumentParser { public Document parseXml...
这个例子展示了如何使用JDOM读取、修改并保存XML文档。通过JDOM,我们可以轻松地处理XML数据,无论是简单的文档还是复杂的结构,都能得心应手。在实际项目中,根据需求选择适当的解析器,结合JDOM提供的API,可以...
通过上述步骤,你可以使用JDOM在Java中创建简单的XML文档。这个例子是一个基础的示例,实际应用中可能需要处理更复杂的结构和逻辑,例如命名空间、处理指令、注释等。JDOM提供的API非常强大,可以满足各种XML处理...
JDOM是一个专为Java设计的XML处理库,它提供了高效、便捷的方式来创建、修改和读取XML文档。 **JDOM基础** JDOM的主要目标是提供一个完全基于Java的XML解决方案,使得XML文档可以被高效地映射到Java对象上。通过...
下面是一个简单的示例,展示如何使用JDOM解析和打印XML文档的元素信息: ```java import org.jdom2.*; import org.jdom2.input.SAXBuilder; import org.jdom2.output.Format; import org.jdom2.output.XMLOutputter...
接下来,我们将通过一个简单的示例来展示如何使用JDOM解析XML文件。假设我们有一个名为`example.xml`的文件,内容如下: ```xml <?xml version="1.0" encoding="UTF-8"?> <title>Java编程思想 布鲁斯·艾克 ...
`jdom-1.1.zip`是这个版本的源代码或二进制包,通常包含库的jar文件、文档、示例代码等资源。`jdom-1.1.jar`则是JDOM-1.1的核心库文件,可以直接引入到Java项目中,以便进行XML操作。 在JDOM中,XML文档被表示为一...
本篇文章将详细介绍如何使用 JDOM 来读取 XML 文件,并通过一个详细的示例代码来帮助理解其基本操作。 首先,我们需要了解 JDOM 的基本组件。`Element` 类是 XML 中节点的表示,它可以有属性和子节点。`Document` ...