`
quzhan87com
  • 浏览: 55334 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

解析xml的方法

阅读更多
1、简单的xml文件
<?xml version="1.0" encoding="utf-8"?>

<reports>  
    <report id="RPT004" name="report1">
        <property name="levelA" row="2" col="2" type="string"/>
        <property name="levelB" row="2" col="5" type="string"/>
        <property name="code" row="2" col="22" type="string"/>
        <property name="dep" row="4" col="5" type="string"/>
        <property name="groupName" row="4" col="23" type="string"/>
    </report>
</reports>

2、解析的java代码
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class DocumentXml {

	/**
	 * @param args
	 */
	@SuppressWarnings("unchecked")
	public static void main(String[] args) {
		// TODO Auto-generated method stub
      try {
		InputStream in = new FileInputStream("D:\\report\\reports.xml");
		SAXReader reader = new SAXReader();
		reader.setEncoding("utf-8");//将xml编码
		Document doc = reader.read(in);
		List<Element> reportList = doc.selectNodes("//reports/report");
		for (Element report : reportList) {
			System.out.print(report.attributeValue("id")+"  ");
			System.out.println(report.attributeValue("name"));
			List<Element> elemList = report.elements();
			for (Element element : elemList) {
				System.out.print(element.attributeValue("name")+"    ");
				System.out.print(element.attributeValue("row")+"    ");
				System.out.println();
			}
			
		}
	} catch (FileNotFoundException e) {
		System.out.println("文件不存在");
		e.printStackTrace();
	} catch (DocumentException e) {
		System.out.println("文档异常");
		e.printStackTrace();
	}
	}

}


3、在试的过程中发现不但要引进dom4j-1.6.1.jar还要引进jaxen-1.1-beta-7.jar(很重要的,不然会报java.lang.NoClassDefFoundError: org/jaxen/JaxenException错误)
分享到:
评论

相关推荐

    解析xml方法以及详细的介绍

    ### 解析XML方法及其详细介绍 XML(Extensible Markup Language,可扩展标记语言)是由W3C(World Wide Web Consortium)定义的一种元语言,用于描述结构化数据,它以纯文本形式编码,与编程语言、操作系统或传输...

    C++解析XML方法的研究和实现.docx

    【C++解析XML方法的研究和实现】 XML,全称为可扩展标记语言(Extensible Markup Language),是一种用于描述数据结构的标记语言,它允许用户自定义标签以存储和传输信息。XML设计的目标是传输和存储数据,而非显示...

    4种解析XML方法实例

    本教程将详细介绍四种常见的XML解析方法,以帮助你更好地理解和处理XML数据。 1. DOM解析器(Document Object Model) DOM解析器将整个XML文档加载到内存中,创建一个树形结构,允许开发者通过节点操作来访问和修改...

    javascript解析xml方法

    javascript解析xml方法,考虑多种浏览器

    java xml 4 种 解析xml 方法 sax jdom dom stAX

    下面将详细介绍这四种解析XML的方法。 1. SAX(Simple API for XML) SAX是一种事件驱动的解析器,它不会一次性加载整个XML文档到内存中,而是逐行读取,当遇到文档中的元素、属性等时,会触发相应的事件处理器方法...

    java解析xml 的5种方法

    在Java中,有多种方式可以解析XML文件,下面将详细介绍这五种方法。 1. DOM(Document Object Model)解析: DOM解析器将整个XML文档加载到内存中,构建一个树形结构,即DOM树。这种方式方便对XML进行随机访问,但...

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

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

    kettle 解析xml xml文档,配合kettle 解析xml stax方法,完整解析案例使用

    与上一个版本一起使用可以可以起到提高效率的目的。本人解析xml的真实文档

    PB 解析XML (代码案例)

    4. **解析XML**:一旦XML文档加载成功,可以使用解析器的方法如`GetFirstChild`, `GetNextSibling`, `GetName`, `GetValue`等来遍历和提取XML节点信息。 5. **处理XML数据**:根据业务需求,将解析出的数据存储到...

    解析XML特殊字符方法

    有两种主要方法来解析XML中的特殊字符: **方法一:使用实体引用** 实体引用是XML中最常见的处理特殊字符的方式。当你需要在XML文档中插入特殊字符时,可以使用对应的实体引用。比如,如果你想在文本中包含一个...

    C++解析xml文档或者xml字符串方法

    在`RealPlay`中,使用`loadXML`方法解析XML字符串,而不是`load`方法,因为`loadXML`用于解析内存中的XML字符串。 总结来说,C++通过MSXML库提供了解析XML文档和XML字符串的功能。这使得在C++和不支持指针的语言...

    C++解析xml文件

    C++中解析XML文件的方法多种多样,这里我们将重点介绍使用TinyXML库的方法,因为这是你提供的压缩包文件名。 TinyXML是一个开源、小巧且易于使用的C++库,专门用于XML文件的读取和写入。下面我们将详细介绍如何使用...

    易语言 xml解析 易语言 xml解析 教程 带源码

    这些解析器可以帮助我们解析XML数据,将其转换为易语言可以处理的数据结构,如字节流、字符串或对象。常见的解析方式有DOM(Document Object Model)和SAX(Simple API for XML)两种。DOM解析器会将整个XML文档加载...

    js解析XML文件

    JS 解析 XML 文件 作为一名 IT 行业大师,我将从给定的...使用 JavaScript 解析 XML 文件需要了解 XML 文档的结构和各个节点的类型,选择合适的解析方法,考虑浏览器兼容性问题,并掌握相关的 JavaScript 语法和方法。

    STM32解析XML

    在本文中,我们将深入探讨如何在STM32F107上使用minixml库解析XML(可扩展标记语言)文档,这对于那些初次尝试在嵌入式环境中处理XML数据的开发者来说,是非常有价值的。 XML是一种通用的数据交换格式,它允许结构...

    JAVA 解析XML生成XML文档实例

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

    Java解析XML的四种方法.pdf

    需要注意的是,文件内容中存在一些OCR扫描错误,比如“DOMCPUDOMXMLjar”和“XMLXMLXMLDOMSAXXMLXML”等表达不清的词语可能是扫描错误,不应影响对Java解析XML方法的理解。实际应用中,应当尽量避免这类扫描错误,...

    SAX解析XML文件实例

    SAX解析XML文件的实例。一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml...

    解析xml和本地解析xml

    本文将深入探讨“在线解析XML”与“本地解析XML”的概念及其应用场景,以及如何将XML数据从CLOB字段提取并存入数据库。 1. XML的基本概念: XML是一种自描述的、结构化的文本格式,它通过标签来定义数据结构和内容...

    解析xml的jar包

    - 使用`DocumentBuilder`的`parse()`方法解析XML文件,生成`Document`对象,这是JDOM的根节点。 2. **访问XML元素和属性**: - `Element`类代表XML元素,可以通过`Document.getRootElement()`获取根元素。 - `...

Global site tag (gtag.js) - Google Analytics