`

jdom解析xml文件

    博客分类:
  • java
 
阅读更多
<?xml version="1.0" encoding="UTF-8"?>
<persons>
 <person perid="1001">
  <name>jim</name>
  <age>89</age>
  <address>安徽淮北</address>
  <sex>男</sex>
 </person>
 
 <person perid="1002">
  <name>tom</name>
  <age>56</age>
  <address>北京海淀</address>
  <sex>女</sex>
 </person>
</persons>



[size=medium]
package jdomXml;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;

/**
 * jdom解析xml文件
 * 
 * @author ly *
 */
public class JDomXML {

	public JDomXML() {
	}

	/**
	 * 解析xml文件
	 * 
	 * @param xmlFile
	 */
	@SuppressWarnings("rawtypes")
	public void parseXml(File xmlFile) {
		SAXBuilder sax = new SAXBuilder(false);// 这表示使用的是默认的解析器.SAXBuilder是一个JDOM解析器
												// 能将路径中的XML文件解析为Document对象.
												// 在内存中建立一个sax文档模型,创建解析对象
		try {
			Document xmlDom = sax.build(xmlFile);// 解析对象调用build方法建立文档对象 ,创建文档
			// 获得文件的根元素
			Element root = xmlDom.getRootElement();
			System.out.println("根元素是:" + root.getName());

			// 获得根元素的子节点
			List childList = root.getChildren();
			for (Iterator iter = childList.iterator(); iter.hasNext();) {
				Element person = (Element) iter.next();
				String perid = person.getAttributeValue("perid");
				// 取得元素的子元素(为最低层元素)的值:
				String name = person.getChildTextTrim("name");
				System.out.println("孩子结点是:" + person.getName());
				System.out.println("perid:" + perid);
				System.out.println("name:" + name);
				// 注意的是,必须确定book元素的名为“name”的子元素只有一个。
				person.getChild("name").setText("alterrjzjh");// 这只是对Document的修改,并没有在实际的XML文档中进行修改
			}
			XMLOutputter outputter = new XMLOutputter();
			outputter.output(xmlDom, new FileOutputStream(xmlFile));
			// 保存Document的修改到XML文件中:我们先要有一个
			// XMLOutputter类,再把已经修改了的Document保存进XML文档中

			// 获得第一个孩子结点
			Element firstChild = (Element) childList.get(0);
			// 获得孩子结点的属性
			List attrList = firstChild.getAttributes();
			Iterator attrIt = attrList.iterator();
			while (attrIt.hasNext()) {
				Attribute attr = (Attribute) attrIt.next();
				System.out.println("第一个元素的属性是:" + attr.getName());
				// 获得属性的值
				System.out.println("属性的值是:" + attr.getValue());
				// 获得属性的类型
				System.out.println("属性的类型是:" + attr.getAttributeType());
			}

			List sonList = firstChild.getChildren();
			Iterator sonIt = sonList.iterator();
			while (sonIt.hasNext()) {
				Element temp = (Element) sonIt.next();
				System.out.println("属性" + temp.getName() + "的值是:"
						+ temp.getValue());
			}

		} catch (JDOMException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		JDomXML test = new JDomXML();
		test.parseXml(new File("persons.xml"));
	}
}
[/size]
分享到:
评论

相关推荐

    使用JDOM解析XML文件

    本篇文章将深入探讨如何使用JDOM解析XML文件。 首先,我们需要理解JDOM的基本结构。JDOM通过Document对象表示整个XML文档,Element代表XML元素,Attribute表示元素属性,Text表示元素内的文本内容。这些类构成了...

    用jdom解析xml文件

    在这个例子中,我们将深入探讨如何使用JDOM解析XML文件,并进行遍历与构建。 首先,我们需要了解JDOM的基本概念。JDOM主要由三部分构成:SAXBuilder用于从XML源构建DOM树,Element代表XML文档的元素,Attribute代表...

    利用JDOM解析xml文件

    本篇文章将深入探讨如何利用JDOM解析XML文件,并基于XML中的类名生成相应的对象。 首先,我们需要理解JDOM的基本概念。JDOM提供了一组Java对象来表示XML文档,包括Element(元素)、Attribute(属性)、Text(文本...

    java利用jdom解析xml文件

    本篇文章将深入探讨如何利用JDOM解析XML文件,以及在这个过程中涉及的关键知识点。 首先,我们需要了解XML(Extensible Markup Language)的基本概念。XML是一种标记语言,用于存储和传输结构化数据。它的结构清晰...

    java 使用JDOM解析xml文件.docx

    Java 使用 JDOM 解析 XML 文件 Java 是一种广泛使用的程序设计语言,而 XML 是一种广泛使用的标记语言,用于存储和传输数据。在 Java 中,解析 XML 文件是一件常见的任务,而 JDOM 是一个流行的开源库,用于解析和...

    jdom解析xml文件小实例

    在这个小实例中,我们将深入探讨如何使用JDOM解析XML文件。 首先,我们需要引入JDOM的依赖。在Java项目中,如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org.jdom &lt;artifactId&gt;...

    JDOM解析XML文档

    ### JDOM解析XML文档 #### 一、JDOM概述与特点 JDOM(Java Document Object Model)是一款专为Java优化的开源XML数据处理库。它虽然与W3C的DOM标准相似,但作为DOM的一种替代方案,JDOM并不是基于DOM构建的,也...

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

    ### jdom解析XML文件及将字符串解析为XML #### 一、JDOM简介与环境搭建 JDOM(Java Document Object Model)是一种用Java语言编写的轻量级API,用于处理XML文档。它允许开发者轻松地读取、创建、修改XML文档,并将...

    JDOM解析xml文档实例(自己编写,仅供参考)

    1. `JDOMUtil.java`:这是一个Java类,包含了使用JDOM解析XML的主要代码。在这个例子中,我们将学习如何读取XML文件,创建一个`SAXBuilder`对象来构建XML文档的DOM(文档对象模型)表示,然后通过`Document`对象来...

    Jdom解析xml文件

    以下是一个简单的示例代码,演示了如何使用JDOM解析XML文件: ```java import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; import java.io.File; public class ...

    java jdom解析xml

    Java JDOM解析XML是Java开发中处理XML文档的一种方法,JDOM全称为Java Document Object Model,它是一个基于Java语言的API,用于创建、修改和读取XML文档。JDOM为XML处理提供了一种高效且方便的解决方案,尤其适用于...

    jdom 读取XML 文件

    JDOM是Java中一个用于处理XML文档的库,它提供了一种高效且方便的方式来创建、读取、修改XML文件。本篇文章将深入探讨如何使用JDOM来读取XML文件。 首先,我们需要了解JDOM的基本概念。JDOM通过构建一棵DOM...

    Jdom解析XML

    使用JDOM解析XML文档通常包括以下几个步骤: 1. 创建`SAXBuilder`实例,这是JDOM提供的解析器,可以将XML输入源转换为`Document`对象。 2. 使用`SAXBuilder`的`build`方法读取XML文件,生成`Document`对象。 3. ...

    用jdom解析xml

    这个JSP页面首先解析XML文件,显示其顶级元素,然后以格式化的形式输出整个XML文档。 **7. 性能考虑** 虽然JDOM提供了易用性,但它的性能可能不如其他XML解析器如DOM4J或StaX。在处理大型XML文件时,应考虑这些...

    Dom JDom 解析xml 文件

    在Java中,解析XML文件是常见的任务,其中DOM(Document Object Model)和JDOM是两种常用的方法。 DOM解析是XML解析的一种方式,它将整个XML文档加载到内存中,形成一个树形结构,称为DOM树。每个节点代表XML文档的...

    jdom 解析 XML文件 java程序 存入Oracle数据库

    对于含有子节点的复杂的XML文件,可以采用jdom.jar来解析。 上传的文件包括程序,XML文件,jdom包,jdbc包 对于复杂的XML文件,可以采用层层解析,虽然方法不是很简便,但是,可以完成解析的任务,而且,准确率很高...

    java用jdom解析xml到txt

    综上所述,使用JDOM解析XML文件并将其内容导出到TXT文件,主要涉及XML的读取、遍历和内容输出。通过JDOM,你可以方便地处理XML的结构、元素、属性等信息,为Java应用程序提供灵活的数据处理能力。在实际应用中,可以...

Global site tag (gtag.js) - Google Analytics