`

XML的解析方法

 
阅读更多

XML最为一种通用的数据交换格式,它与语言、平台、系统的无关性而给数据集成与交换带来了很大的便利。对于XML本身的语法和知识有DTD(document type definition),SAX(sample api for xml),DOM(document object model),XSD(xml schema definition),XSTL(Extensible stylesheet language transformations).

XML在不同的语言中解析的方式一样,只不过实现的语言不同,基本解析有两种:SAX(基于事件流的方式),另外一种是DOM(基于XML文档树结构的方式)

一、DOM

解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用 DOM 接口来操作这个树结构。优点:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间;使用场合:一旦解析了文档还需多次访问这些数据;硬件资源充足(内存、CPU).

 

//获取DOM工厂对象
DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
//从 DOM 工厂获得 DOM 解析器
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
//把要解析的 XML 文档转化为输入流,以便 DOM 解析器解析它
InputStream is= new  FileInputStream("test1.xml"); 
//解析 XML 文档的输入流,得到一个 Document
Document doc=dombuilder.parse(is);
//得到 XML 文档的根节点
Element root=doc.getDocumentElement();
//得到节点的子节点
NodeList books=root.getChildNodes();
//获得集合中的第i 个节点
Node book = books.item(i); 
//根据Node对象获取所有的值,可查看Node的API

 

 

 

二、SAX

当解析器发现元素开始、元素结束、文本、文档的开始或结束等时,发送事件,程序员编写响应这些事件的代码,保存数据。优点:不用事先调入整个文档,占用资源少;SAX解析器代码比DOM解析器代码小,适于Applet,下载。缺点:不是持久的;事件过后,若没保存数据,那么数据就丢了;无状态性;从事件中只能得到文本,但不知该文本属于哪个元素;使用场合:Applet;只需XML文档的少量内容,很少回头访问;机器内存少;

三、DOM4j

DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML,特别值得一提的是连 Sun 的 JAXM 也在用 DOM4J。

 

四、JDOM

为减少DOM、SAX的编码量,出现了JDOM;优点:20-80原则,极大减少了代码量。使用场合:要实现的功能简单,如解析、创建等,但在底层,JDOM还是使用SAX(最常用)、DOM、Xanan文档。

 

分享到:
评论

相关推荐

    比较通用的xml解析方法

    本篇文章将详细探讨一种比较通用的XML解析方法,适用于各种编程环境。 在处理XML文件时,我们通常会遇到两种主要的解析方式:DOM(Document Object Model)和SAX(Simple API for XML)。DOM将整个XML文档加载到...

    安卓网站交互JSONxmlWebserviceUPnP相关-比较通用的xml解析方法.rar

    本压缩包文件"安卓网站交互JSONxmlWebserviceUPnP相关-比较通用的xml解析方法.rar"主要关注XML解析方法,虽然未提及具体的所有内容,但我们可以根据标签和描述来探讨这些关键知识点。 首先,让我们深入了解一下JSON...

    比较通用的xml解析方法.zip

    这个压缩包“比较通用的xml解析方法.zip”包含了一些与XML解析相关的资源,如库文件和源码示例,让我们逐一探讨。 1. **DOM4J.jar**: DOM4J 是一个灵活的 Java XML API,它提供了全面的功能,包括文档对象模型...

    安卓Android源码——比较通用的xml解析方法.rar

    本资料包“安卓Android源码——比较通用的xml解析方法”将深入探讨在Android平台上解析XML的多种方法。 1. DOM解析器(Document Object Model) DOM解析器将整个XML文档加载到内存中,创建一个树形结构,便于遍历和...

    xml解析方法

    用于解析XML,强大的XML解析能力,这是骗人的,只是为了赚一个积分

    多种xml解析方法以及各自的优点

    本文将深入探讨三种主要的XML解析方法:DOM解析、SAX解析和DOM4J解析,并分析它们各自的特点和优势。 1. DOM解析(Document Object Model) DOM解析器将整个XML文档加载到内存中,构建一个树形结构,称为DOM树。...

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

    7. **实际应用**:了解了基本的XML解析方法后,我们可以将其应用到实际项目中,比如读取配置文件、从网络获取XML数据、存储游戏数据等。 8. **源码分析**:教程中提供的源码是学习易语言XML解析的重要资源。通过...

    应用源码之比较通用的xml解析方法.zip

    本资料包“应用源码之比较通用的xml解析方法”专注于讲解如何在Android环境中解析XML文件,这对于理解和优化应用程序的性能至关重要。下面我们将深入探讨XML解析的几种方法及其优缺点。 1. DOM解析器(Document ...

    Android应用源码之比较通用的xml解析方法.zip

    Android提供了两种主要的XML解析方法:DOM(Document Object Model)解析和SAX(Simple API for XML)解析。 1. DOM解析: DOM解析器将整个XML文档加载到内存中,形成一个树形结构。开发者可以通过这个树形结构轻松...

    比较通用的xml解析方法_android源码.zip

    本资料“比较通用的xml解析方法”探讨了在Android中解析XML的几种常见方法。 1. DOM解析器: DOM(Document Object Model)是XML文档的树形结构表示。它一次性加载整个XML文档到内存中,形成一个完整的树形结构,...

    4种解析XML方法实例

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

    3种xml解析方法

    本文将深入探讨三种XML解析方法:JAXB(Java Architecture for XML Binding)、DOM4J以及DOM(Document Object Model)。 首先,JAXB是Java平台标准的一部分,它提供了一种将Java对象绑定到XML的机制,使得数据交换...

    比较通用的xml解析方法.zip项目安卓应用源码下载

    本项目"比较通用的xml解析方法.zip"提供了一个安卓应用的源码,主要关注XML在Android环境下的解析方法。下面我们将深入探讨XML解析在Android中的重要性以及几种常见的解析方式。 XML解析是Android开发中必不可少的...

    安卓Android源码——比较通用的xml解析方法.zip

    本资源“安卓Android源码——比较通用的xml解析方法.zip”显然聚焦于探讨在Android平台上解析XML的不同方法。这里我们将深入探讨两种主要的XML解析技术:SAX(Simple API for XML)和DOM(Document Object Model),...

    Android 比较通用的xml解析方法-IT计算机-毕业设计.zip

    本示例着重于Android中的两种主要XML解析方法:DOM(Document Object Model)解析和SAX(Simple API for XML)解析。这两种方法各有优缺点,适用于不同的场景。 首先,DOM解析是最常见的方法之一。它将整个XML文档...

    Android高级应用源码-比较通用的xml解析方法.zip

    本资料"Android高级应用源码-比较通用的xml解析方法.zip"包含了关于XML解析的一些通用实现,旨在帮助开发者理解和掌握Android中处理XML的多种方法。以下是对这些知识点的详细解释: 1. DOM解析: Document Object ...

Global site tag (gtag.js) - Google Analytics