xml解析方式
在平时工作中,难免会遇到把XML作为数据存储格式。面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历XML这块来测试,因为遍历XML是工作中使用最多的(至少我认为)。
预备
测试环境:
AMD毒龙1.4G OC 1.5G、256M DDR333、Windows2000 Server SP4、Sun JDK 1.4.1+Eclipse 2.1+Resin 2.1.8,在Debug模式下测试。
XML文件格式如下:
<?xml version="1.0" encoding="GB2312"?><RESULT><VALUE>
<NO>A1234</NO>
<ADDR>四川省XX县XX镇XX路X段XX号</ADDR></VALUE><VALUE>
<NO>B1234</NO>
<ADDR>四川省XX市XX乡XX村XX组</ADDR></VALUE></RESULT>
测试方法:
采用JSP端调用Bean(至于为什么采用JSP来调用,请参考:http://blog.csdn.net/rosen/archive
/2004/10/15/138324.aspx),让每一种方案分别解析10K、100K、1000K、10000K的XML文件,计算其消耗时间(单
位:毫秒)。
JSP文件:
<%@ page contentType="text/html; charset=gb2312" %><%@ page import="com.test.*"%>
<html><body><%String args[]={""};MyXMLReader.main(args);%></body></html>
测试
首先出场的是DOM(JAXP Crimson解析器)
DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人
员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对
象的。DOM以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时
候在树中上下导航,而不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。
另一方面,对于特别大的文档,解析和加载整个文档可能很慢且很耗资源,因此使用其他手段来处理这样的数据会更好。这些基于事件的模型,比如SAX。
Bean文件:
package com.test;
import java.io.*;import java.util.*;import org.w3c.dom.*;import javax.xml.parsers.*;
public class MyXMLReader{
public static void main(String arge[]){
long lasting =S
相关文档:
在
SQLServer2005
中对
XML
的处理功能显然增强了很多,提供了
query(),value(),exist(),modify(),nodes()
等函数。
关于
xml
,难以理解的不是
SQLServer
提供的函数,而是对
xml
本身的理解,看似很简单的文件格式,处理起来却是非常困难的。本文只是初探一下而已。
详见
SQLServer
联机帮助:
主题
说 ......
XML的四种解析器原理及性能比较 ......
今天继续讲XML,争取在下午5点前占领XML高地。一共三个主要内容:SAX解析技术,DOM4J和SCHEMA。
首先是SAX解析技术:SAX采用事件处理的方式解析XML文件。利用 SAX 解析 XML 文档,涉及两个部分:解析器和事件处理器。
解析器负责读取 XML 文档,并向事件处理器发送事件
事件处理器负责对事件做出相应,对传递的 XML 数据 ......
XML 被设计用来描述数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
应该掌握的基础知识:
在您继续学习之前,需要对以下知识有基本的了解:
HTML / XHTML
JavaScript 或 VBScript
如果您希望首先学习这些项目,请在我们的 首页 访问这些教程。
什么是XML?
XML 指可扩展标记语言(EXt ......