`
空白空格
  • 浏览: 13816 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

使用JDOM读取XML文件的简单示例

阅读更多
功能:
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();
	}
}

分享到:
评论

相关推荐

    使用JDOM解析XML文件

    下面是一个使用SAXBuilder解析XML文件的示例: ```java import org.jdom2.Document; import org.jdom2.input.SAXBuilder; public class JdomExample { public static void main(String[] args) { try { ...

    java利用jdom读取xml文件

    要使用JDOM读取XML文件,我们需要以下几个步骤: 1. 引入JDOM库:在项目中添加JDOM的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org.jdom &lt;artifactId&gt;jdom2 &lt;version&gt;...

    JDOM读取XML,并且创建XML

    本篇我们将聚焦于JDOM库,这是一个Java API,专门用于处理XML文档的创建和读取。JDOM提供了一个直接映射到XML文档的Java对象模型,使得操作XML变得更为便捷。 首先,让我们深入理解JDOM的基本概念。JDOM的核心类...

    jdom学习读取xml文件.files

    本教程将深入探讨如何使用JDOM读取XML文件,并阐述其在Spring框架中的应用。 首先,我们了解JDOM的基本概念。JDOM提供了一种树型结构来表示XML文档,其中XML元素、属性、文本和注释等都对应于特定的Java对象。通过...

    JDom 读写XML

    标题“JDom 读写XML”指的是使用JDom库进行XML文档的处理,包括读取和写入操作。JDom是一个Java API,它为XML文档提供了全面且高性能的处理能力,使得开发者能够方便地构建、修改和访问XML数据。 **JDom详解** 1. ...

    jdom 读取修改xml文件

    通过这个简单的示例,我们了解了如何使用 JDOM 库来读取、解析、修改和保存 XML 文件。JDOM 提供了一个强大而直观的 API,使得开发者能够更加高效地处理 XML 数据。对于需要频繁与 XML 数据交互的应用程序来说,JDOM...

    jdom解析xml文件

    **JDOM解析XML文件** ...通过这种方式,JDOM为Java开发者提供了一种强大且灵活的工具来处理XML数据,使得在程序中处理XML文档变得简单而直观。无论是读取配置文件、解析服务响应还是构建复杂的XML结构,JDOM都能胜任。

    JDOM操作xml文件的xmlBean

    虽然本示例主要介绍了JDOM的操作方法,但根据描述中的建议,也可以考虑使用DOM4J进行XML文件的操作。DOM4J是一个功能强大的XML处理工具包,相比JDOM具有更丰富的特性和支持。例如: - DOM4J提供了更灵活的数据结构和...

    java jdom解析xml

    - **优化策略**:如果确实需要处理大型XML文件,可以使用JDOM的SAXBuilder,它允许以SAX方式读取XML,但仍然使用JDOM API进行操作。 6. **示例代码** ```java import org.jdom2.Document; import org.jdom2....

    jdom读写xml说明

    本篇文章将详细探讨JDOM在读写XML操作中的应用。 ### 1. JDOM简介 JDOM是一个针对Java的DOM(Document Object Model)实现,旨在为Java开发者提供一个高效且灵活的方式来处理XML文档。它提供了直接在内存中构建和...

    jdom解析XML文件and把字符串解析成XML

    这段代码中,我们首先加载了XML文件,然后使用`SAXBuilder`类的`build()`方法解析XML内容,并获取文档的根元素。最后关闭输入流,并输出根元素的名称。 #### 三、将字符串解析为XML 除了解析文件之外,JDOM还支持...

    jdom解析xml文件小实例

    以下是一个简单的示例,展示了如何读取XML文件并获取根元素: ```java import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; import java.io.File; public class ...

    用jdom解析xml

    解析XML文档通常涉及读取文件并将其转换为JDOM对象。以下是一个基本示例: ```java import org.jdom2.Document; import org.jdom2.input.SAXBuilder; public class XmlDocumentParser { public Document parseXml...

    jdom处理xml例子

    这个例子展示了如何使用JDOM读取、修改并保存XML文档。通过JDOM,我们可以轻松地处理XML数据,无论是简单的文档还是复杂的结构,都能得心应手。在实际项目中,根据需求选择适当的解析器,结合JDOM提供的API,可以...

    jdom写xml的简单类

    通过上述步骤,你可以使用JDOM在Java中创建简单的XML文档。这个例子是一个基础的示例,实际应用中可能需要处理更复杂的结构和逻辑,例如命名空间、处理指令、注释等。JDOM提供的API非常强大,可以满足各种XML处理...

    Jdom解析XML

    JDOM是一个专为Java设计的XML处理库,它提供了高效、便捷的方式来创建、修改和读取XML文档。 **JDOM基础** JDOM的主要目标是提供一个完全基于Java的XML解决方案,使得XML文档可以被高效地映射到Java对象上。通过...

    Jdom解析xml案例

    下面是一个简单的示例,展示如何使用JDOM解析和打印XML文档的元素信息: ```java import org.jdom2.*; import org.jdom2.input.SAXBuilder; import org.jdom2.output.Format; import org.jdom2.output.XMLOutputter...

    使用jdom解析XML

    接下来,我们将通过一个简单的示例来展示如何使用JDOM解析XML文件。假设我们有一个名为`example.xml`的文件,内容如下: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;title&gt;Java编程思想 布鲁斯·艾克 ...

    jdom-1.1.zip jdom-1.1.jar jdom.jar jdom库 jdom操作xml

    `jdom-1.1.zip`是这个版本的源代码或二进制包,通常包含库的jar文件、文档、示例代码等资源。`jdom-1.1.jar`则是JDOM-1.1的核心库文件,可以直接引入到Java项目中,以便进行XML操作。 在JDOM中,XML文档被表示为一...

    jdom读取xml详细例子

    本篇文章将详细介绍如何使用 JDOM 来读取 XML 文件,并通过一个详细的示例代码来帮助理解其基本操作。 首先,我们需要了解 JDOM 的基本组件。`Element` 类是 XML 中节点的表示,它可以有属性和子节点。`Document` ...

Global site tag (gtag.js) - Google Analytics