xml解析分为SAX,DOM,JDOM,DOM4J四种:
dom:把xml文件读到内存中去,并生成树型结构,以后访问只要在树节点中找就行,由于要把xml解析到内存中去,所以不能解析操作10M的文件
sax:基于事件驱动,文档的开始结束,元素开始结束节点遍历,对文档只能遍历一次,但能解析大型xml文件,速度比dom快,欠缺的是用SAX 解析器的时候编码工作会比较困难,而且很难同时访问同一个文档中的多处不同数据。
jdom:利用"Java 规范请求 JSR-102",与 DOM 主要有两方面不同。首先,JDOM 仅使用具体类而不使用接口。这在某些方面简化了 API,但是也限制了灵活性。第二,API 大量使用了 Collections 类,简化了那些已经熟悉这些类的 Java 开发者的使用。
dom4j:使用接口和抽象基本类方法,大量使用了 API 中的 Collections 类,因为JDOM 和 DOM 在性能测试时表现不佳,在测试 10M 文档时内存溢出,而各方面dom4j都由于他们,现在许多开源项目都使用了dom4j,比如hibernate对xml的解析.
但到目前为止我还是热衷用dom解析xml,解析步骤如下:
//创建文档构建工厂
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
//创建文档构建器
DocumentBuilder builder=factory.newDocumentBuilder();
//创建文档对象,解析指定的文件
Document doc = builder.parse(new File(fileName));
//根据tagName创建节点列表
NodeList nl = doc.getElementsByTagName(tagName);
//循环遍历
for (int i=0;i<nl.getLength();i++){
String str = doc.getElementsByTagName(tagName).item (i).getFirstChild ().getNodeValu();
}
详情参考:http://www.it.com.cn/f/edu/053/27/93819.htm
分享到:
相关推荐
DOM(Document Object Model)是W3C推荐的一种解析XML的标准方法,它将整个XML文档加载到内存中,形成一棵树形结构,允许开发者通过节点遍历来访问和修改XML内容。DOM4J提供了一套灵活且强大的API,包括XPath支持,...
根据提供的文件信息,本文将详细解释SAP系统中如何解析XML文档,并将其内容提取到内部表中的过程。此过程涉及到了ABAP编程语言的具体应用,包括数据结构定义、数据提取逻辑以及与SAP系统的交互。 ### SAP 解析 XML ...
本文将深入探讨Java中解析XML的四种主要方法:DOM、SAX、StAX和JAXB。 1. DOM(Document Object Model) DOM是一种基于树形结构的API,它将整个XML文档加载到内存中,形成一个节点树。你可以通过遍历这个树来访问和...
总结,选择DOM还是SAX解析XML取决于具体需求,包括文件大小、处理速度、内存限制以及是否需要随机访问数据。在实际开发中,根据项目特点灵活选择合适的解析方式,能有效提高程序性能和资源利用效率。
总结来说,Java提供了多种解析XML的方法,包括DOM、SAX和JAXB等。对于处理多级嵌套的XML,DOM和JAXB在操作上更为便捷,而SAX则适用于处理大规模文件。在具体选择时,应根据项目需求和资源限制进行权衡。
下面我们将深入探讨Ajax解析XML和JSON的相关知识点。 **一、Ajax基本原理** 1. **异步通信**:Ajax的核心是XMLHttpRequest对象,它允许浏览器向服务器发送异步请求,获取服务器响应,而无需重新加载整个页面。 2. *...
总结,SAX解析XML是一种高效且节省内存的处理方式,适用于处理大量XML数据。通过实现回调接口,我们可以根据XML文档的结构执行相应的操作,而无需一次性加载整个文件。了解并熟练掌握SAX解析技术,有助于我们在处理...
总结来说,"STM32解析XML完整工程.zip"提供了一个在STM32微控制器上解析XML文件的完整解决方案,包括必要的软件资源和示例代码。通过学习和理解这些文档及代码,开发者可以掌握在嵌入式环境中处理XML数据的技术,为...
总结,Android下解析XML文件涉及的关键知识点包括: - XML的基本概念和结构 - DOM解析器的工作原理和使用方法 - SAX解析器的工作原理和使用方法 - Pull Parser的使用 - 解析过程中的错误处理 - 数据结构设计,将XML...
在解析XML文件时,JDOM提供了SAXBuilder和DOMBuilder两种方式。SAXBuilder基于事件驱动,适用于处理大型XML文件,因为它占用较少的内存。DOMBuilder则一次性加载整个XML到内存,适合小型文件,便于进行快速访问。 ...
本文将深入探讨Java解析XML的四种主要方法。 1. DOM(Document Object Model)解析: DOM解析器将整个XML文档加载到内存中,创建一个树形结构,允许开发者通过节点遍历和操作XML。例如,Java的`javax.xml.parsers....
总结来说,使用Lotusscript解析XML涉及创建XMLDocument对象,通过对象路径访问XML结构,并使用方法获取数据。在Lotus Domino的代理中,这种能力尤为关键,因为它允许自动化处理和响应XML数据驱动的任务。通过理解...
根据给定文件中的标题、描述、标签以及部分内容,可以总结并深入探讨以下关于C#中XML解析的关键知识点: ### C#中的XML解析方式 #### 1. XML Text Reader(流式解析) - **简介**:在.NET框架中,`XMLTextReader`...
总结来说,C++通过MSXML库提供了解析XML文档和XML字符串的功能。这使得在C++和不支持指针的语言(如JavaScript)之间交换复杂数据成为可能,尤其是在OCX控件或跨语言交互的场景下。无论是从文件加载还是从字符串解析...
有两种主要方法来解析XML中的特殊字符: **方法一:使用实体引用** 实体引用是XML中最常见的处理特殊字符的方式。当你需要在XML文档中插入特殊字符时,可以使用对应的实体引用。比如,如果你想在文本中包含一个...
在Python中解析XML文件是一种常见的需求,特别是在处理配置文件、数据交换格式以及其他需要结构化数据的应用场景中。本文将详细介绍如何使用两种流行的方法——`MiniDom`和`ElementTree`来解析XML文件。 #### 1. ...
总结起来,XmlPullParser是Android中解析XML文件的一种高效方法,尤其适合处理大型XML文档。通过事件驱动的方式,它可以逐步解析XML结构,减少了内存占用。通过学习和实践“XmlPullParser解析Xml文件解析demo”,...
使用JAXB解析XML时,我们首先需要创建一个Java类模型,这个模型反映了XML文档的结构。每个XML元素对应一个Java类,类的属性对应元素的属性或子元素。例如,如果XML中有以下结构: ```xml <text>Some text here ...