`

Java XML解析系列

    博客分类:
  • Java
阅读更多
Java解析XML有多种方式,因此需要分为几个不同的系列来讲。具体安排如下:

1. DOM最基本解析XML;
2. SAX基于事件解析XML;http://gaofulai1988.iteye.com/blog/2262677
3. JDOM不错的解析XML;http://gaofulai1988.iteye.com/blog/2262680
4. DOM4J好用的解析XML;http://gaofulai1988.iteye.com/blog/2262683
5. XPATH解析XML;http://gaofulai1988.iteye.com/admin/blogs/2262787
6. XML与Bean之间的转换。http://gaofulai1988.iteye.com/admin/blogs/2262787

这一个是讲DOM解析XML,DOM的基本思想是将XML文档解析成一个树型,然后依据父子节点、弟兄节点来遍历这棵树。所以它的最大特点是在解析前,先将整个文档载入,这也是它最大的不足之处,如果这个XML文件很大,怎么办呢?

在使用DOM之前,有两种概念提前说一下,Node(节点)和Element(元素)之间的区别,有一个结论是:Element一定是Node,Node不一定是Element。如何来理解?

  <name>test</name>


name既是一个节点也是一个元素,而test只是一个节点,而不是一个元素。

好了,看一个例子吧。先准备好xml文件。

<?xml version="1.0" encoding="UTF-8"?>    
<Students>
   <student>
       <NO id="123">123456</NO>
	   <NAME>abc</NAME>
   </student>
   <student>
   
       <NO id="234">456789</NO>
	   <NAME>def</NAME>
   </student>
</Students>


DOM解析代码如下:
public static void main(String args[]) throws ParserConfigurationException,
			SAXException, IOException {
		// xml文件的路径
		File f = new File("D:" + File.separator + "test.xml");
		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		DocumentBuilder builder = factory.newDocumentBuilder();
		// 解析成一个Document对象
		Document doc = builder.parse(f);
        // 根据标签名获取所有的节点
		NodeList nl = doc.getElementsByTagName("student");
		
		for (int i = 0; i < nl.getLength(); i++) {
			// 输出标签的值
			System.out.print("No:"
					+ doc.getElementsByTagName("NO").item(i).getFirstChild()
							.getNodeValue());
			
			System.out.print("\taddress:"
					+ doc.getElementsByTagName("NAME").item(i).getFirstChild()
							.getNodeValue());
			// Element一定是Node, Node不一定是Element
			Element e=(Element)doc.getElementsByTagName("NO").item(i);
			// 输出属性值
			System.out.println("\tid="+e.getAttribute("id"));
		}
	}
分享到:
评论

相关推荐

    java xml解析工具类 java xml解析工具类

    java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析...

    java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xml

    java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava...

    java XML解析方式实现自动生成word文档

    本篇文章将详细探讨如何利用Java和XML解析来自动化创建Word文档。 首先,我们需要了解XML的结构。XML(Extensible Markup Language)是一种标记语言,它允许我们以结构化的方式存储数据。在生成Word文档时,我们...

    java xml 解析包

    Java XML解析包主要指的是用于处理XML(eXtensible Markup Language)文档的库,它使得在Java程序中读取、写入、修改和操作XML变得简单。本篇将详细介绍使用Java进行XML解析的关键知识点,以dom4j-1.6.1为例。 1. *...

    java 解析XML性能对比分析Demo

    本文将深入探讨几种不同的XML解析方法,并通过实际的“Java解析XML性能对比分析Demo”来展示它们的性能差异。我们将讨论DOM、SAX、JDOM、DOM4J和JAXB这五种解析器,以及它们各自的特点和适用场景。 1. DOM(文档...

    java实现xml解析word文档代码实现

    Java 实现 XML 解析 Word 文档代码实现 基于给定的文件信息,我们可以总结出以下知识点: 1. Java 实现 XML 解析 Word 文档 Java 可以使用多种方式来解析 Word 文档,包括使用 Apache POI 库、Java2Word 库等。...

    java 解析xml 多级

    Java作为一种广泛使用的后端编程语言,提供了多种方式来解析XML文档,使得处理多级嵌套的数据变得可能。本文将详细讲解如何在Java中解析XML,特别是针对多级结构的情况。 首先,Java提供了两种主要的API来处理XML:...

    java心电图xml解析.zip

    Java XML解析是Java开发中的一项重要技能,尤其是在处理结构化数据时。XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于配置文件、数据交换和文档存储等领域。本压缩包“java心电图xml解析....

    XmlUtils.java xml解析工具包

    XML交互时方便进行XML格式转换,包含XML格式数据转换成list对象方法,参数拼接成XML方法

    Java解析XML的jar包+四种解析方法

    java解析xml的四种方法的比较,还有四种方法所用到的jar包 附带程序例子 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML

    JAVA 解析XML生成XML文档实例

    JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML

    JAVA XML解析demo可直接使用

    Java XML解析是编程中常见的一项任务,特别是在处理配置文件、数据交换或集成不同系统时。本教程将聚焦于使用DOM4J库进行XML解析的详细步骤。DOM4J是一个非常灵活且功能强大的Java库,它提供了对XML文档的全面处理,...

    XmlUtils.java XML解析工具类

    XML解析工具类

    java xml解析jdom类库

    用于xml解析,很好用的一个java类库

    Java解析XML工具类--(java源码)

    * 本类是专门解析XML文件的,主要用于为系统读取自己的配置文件时提供最方便的解析操作 * @author HX * */ public class XmlManager { /** * 得到某节点下某个属性的值 * @param element 要获取属性的...

    android java xml 解析生成jar

    本主题将详细讲解如何在Android环境中利用Java进行XML解析,并生成JDOM库的jar文件。 XML解析在Android中的重要性不言而喻,因为XML常被用来描述应用程序的配置、布局,甚至是网络通信的数据交换格式。Java提供了...

    Java 解析 xml 3种方法

    Java XML解析是开发中常见的任务,它涉及到将XML文档转换为程序可以操作的数据结构。XML(eXtensible Markup Language)是一种标记语言,常用于数据交换、配置存储等场景。在Java中,有多种方式来解析XML,主要包括...

    java大作业xml解析

    Java大作业中涉及的XML解析是一项重要的编程任务,XML(eXtensible Markup Language)是一种用于标记数据的语言,因其灵活性和可扩展性被广泛应用于数据存储、配置管理和数据交换。XML文件以.xml为后缀,其结构清晰...

    java解析xml字符串

    Java提供了多种库来解析和操作XML文档,其中JDOM(Java Document Object Model)是一个广泛使用的开源库,它提供了简单且强大的API来读取、创建和修改XML文档。 ### Java解析XML字符串 在给定的代码示例中,我们...

Global site tag (gtag.js) - Google Analytics