`
renpeijia17
  • 浏览: 39693 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

如何利用JDOM把XML文档全部解析出来

阅读更多

        在学采用JDOM解析XML文档时,如何把XML文档中的内容全部解析出来,这个问题可把我难住了。不过经过多番查看JDOM API后,终于把它给搞定了。呼呼。。经过这么一弄,算是基本掌握JDOM了。

        其中XML文档为:company.xml

       

<?xml version="1.0" encoding="UTF-8"?>
<联系人列表 公司="大禹">
	<联系人>
	    <!-- 我是注释,看不见我  -->
		<姓名>大牛</姓名>
		<公司>大禹集团</公司>
		<电话>180888888</电话>
		<地址>
			<街道>皇后街</街道>
			<城市>上海</城市>
			<省份>上海</省份>
		</地址>
	</联系人>

	<联系人>
		<姓名>二牛</姓名>
		<公司>大禹集团</公司>
		<电话>188888888</电话>
		<地址>
			<街道>皇后大道</街道>
			<城市>上海</城市>
			<省份>上海</省份>
		</地址>
	</联系人>
</联系人列表>

      

    解析它的java代码如下:ParseTest.java

   

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

import org.jdom.Attribute;
import org.jdom.Comment;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.Text;
import org.jdom.input.SAXBuilder;

// 练习  解析指定的XML文档,打印到控制台上
public class ParseTest {
	public static void main(String[] args) throws JDOMException, IOException {
		SAXBuilder builder = new SAXBuilder();
		Document doc = builder.build(new File("company.xml"));
		Element root = doc.getRootElement();
		parse(root);
	}

	private static void parse(Element root) {
		String rootName = root.getName();

		System.out.print("<" + rootName);

		// 把当前元素里的属性先打印出来
		List listAtt = root.getAttributes();
		for (int i = 0; i < listAtt.size(); i++) {
			Attribute att = (Attribute) listAtt.get(i);
			String sname = att.getName();
			String svalue = att.getValue();
			System.out.print("  " + sname + "=\"" + svalue + "\"");
		}
		System.out.print(">");

		List listContent = root.getContent();

		for (int i = 0; i < listContent.size(); i++) {
			Object obj = listContent.get(i);
			// 利用instanceof关键字来判断获得的内容的具体类型
			if (obj instanceof Text) {
				Text t = (Text) obj;
				System.out.print(t.getText()); // 递归出口
			} else if (obj instanceof Element) {
				Element e = (Element) obj;
				parse(e); // 如果是Element,则递归
			} else if (obj instanceof Comment) {
				Comment c = (Comment) obj;
				System.out.print("<!--" + c.getText() + ">");
			}
		}
		System.out.print("</" + rootName + ">");
	}
}

 

     这里instanceof关键字,可是帮了我大忙,没有它的话,都不知道怎么去判断从getContent()方法中得来的对象。。

5
3
分享到:
评论

相关推荐

    使用JDOM解析XML文件

    解析完XML文件后,我们可以使用XPath来查询XML文档。XPath是一种在XML文档中查找信息的语言,JDOM提供了Jaxen库来支持XPath。例如,以下代码演示了如何找到文档中的特定元素: ```java import org.jdom2.xpath....

    利用JDOM解析xml文件

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

    jdom 读取XML 文件

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

    java利用jdom解析xml文件

    Java中的JDOM库是用于解析XML文档的一种强大的工具。它提供了简单、高效的API来读取、修改和创建XML文件。本篇文章将深入探讨如何利用JDOM解析XML文件,以及在这个过程中涉及的关键知识点。 首先,我们需要了解XML...

    用jdom解析xml文件

    JDOM是Java中一个专门用来解析XML的库,它提供了方便的API来读取、修改和创建XML文档。在这个例子中,我们将深入探讨如何使用JDOM解析XML文件,并进行遍历与构建。 首先,我们需要了解JDOM的基本概念。JDOM主要由三...

    java利用jdom读取xml文件

    JDOM,全称为Java Document Object Model,是一种专为Java设计的XML处理API,它提供了对XML文档结构的完整映射,使得我们可以方便地创建、读取和修改XML文件。下面将详细介绍如何使用JDOM来读取XML文件。 首先,...

    jdom解析xml文件

    在Java中,JDOM(Java Document Object Model)是一个流行的选择来解析和操作XML文档。它提供了一个纯Java的API,使开发者能够高效地读取、创建和修改XML内容。 ### JDOM基本概念 1. **Document对象**:JDOM的核心...

    利用jdom操作xml文档

    本文详细介绍了如何使用 JDOM 库创建 XML 文档,以及如何进行基本的 XML 文件解析。通过这些基础操作,您可以轻松地使用 Java 来管理和操作 XML 数据。JDOM 的简洁性和易用性使其成为处理 XML 数据的理想选择之一。

    java 使用JDOM解析xml文件.docx

    * XML 配置文件解析 * 数据交换和 Integration * 文档管理和存储 JDOM 库是一个功能强大且灵活的 XML 解析库,能够满足各种 Java 项目的需求。 结语 本文详细介绍了如何使用 JDOM 库解析 XML 文件,并讨论了 JDOM...

    java jdom解析xml

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

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

    XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,尤其在软件开发和Web服务中广泛应用。JDOM是Java中专门用来...通过这个实例,你可以更好地理解如何利用JDOM在Java中处理XML文档,从而为你的项目带来便利。

    用jdom解析xml

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

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

    除了解析文件之外,JDOM还支持将字符串解析为XML文档。这对于处理动态生成的XML数据非常有用。 #### 2. 将字符串解析为XML 下面是一个示例代码,展示了如何将一个XML字符串转换为JDOM的`Document`对象: ```java ...

    jdom解析xml文件小实例

    JDOM是Java领域中一个专门用来解析XML的库,它提供了一种高效且易于使用的API来处理XML文档。在这个小实例中,我们将深入探讨如何使用JDOM解析XML文件。 首先,我们需要引入JDOM的依赖。在Java项目中,如果你使用的...

    Jdom解析XML

    通过JDOM,开发者可以使用Java API来处理XML文档,无需了解底层的SAX或DOM解析器的工作原理。 **JDOM的基本元素** - **Document**: XML文档的根节点,代表整个XML文档。 - **Element**: 表示XML文档中的元素,它是...

    JDOM解析XML文档

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

    jdom.jar xml解析

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件、文档存储等领域。在Java中,有许多库可以...通过熟练掌握JDOM,你可以轻松地解析、创建和修改XML文档,从而提高开发效率。

    JDOM解析XML

    JDOM,全称Java Document Object Model,是专门为Java设计的一个解析XML的API,它提供了方便的构建和操作XML文档的方法。 JDOM的优势在于它完全基于Java,因此可以充分利用Java的强大功能,如异常处理、内存管理等...

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

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

Global site tag (gtag.js) - Google Analytics