收 藏 投 稿 繁 体 RSS 
站长吧-中国站长学习与交流的网站
首 页 运 营 学 院 建 站 论 坛
Web master8.net  
 网站运营  
  欢迎在本站发布信息,在线投递稿件请点这里。编辑QQ:4908220,欢迎联系交流。
业界动态 创业故事 推广研究 策划盈利 电子商务 企业平台
  站长工具
SEO查询 Whois查询 Pr查询 域名查询 IP查询 网页编辑器
 建站服务  
  如有建站意向,请尽快联系我们,以便安排时间... 建站服务 QQ4908220 QQ:4908220
作品展示 服务范围 服务流程 服务报价 联系方式 付款方式
文章正文  » 您的当前位置: 首页 >> 学院 >> 程序开发 >> XML
简化XML处理详解
  来源:互联网 | 时间:2006-04-22 | 浏览:   相关评论 | 报告错误 | 发布文章
【字号: | | 】 【背景色 杏仁黄 秋叶褐 胭脂红 芥末绿 天蓝 雪青 灰 银河白(默认色)

 

同一应用的DOM版本样式如下:

import java.io.*;

import org.w3c.dom.*;

import org.w3c.*;

import javax.xml.parsers.*;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.FactoryConfigurationError;

import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.*;

import org.xml.sax.SAXException;

public class use_dom {

public static void main(String[] args){

try{

DocumentBuilderFactory factory =

DocumentBuilderFactory.newInstance();

DocumentBuilder parser = factory.

newDocumentBuilder

DocumentBuilder();

Document d= parser.parse("test.xml");

Element root = d.getDocumentElement();

if (root.getNodeName().compareTo("purchaseOrder")==0){

System.out.println(" orderDate==> "

+ root.getAttribute("orderDate"));

Node n = root.getFirstChild();

if (n != null){

do {

if (n.getNodeType() == Node.ELEMENT_NODE

&& n.getNodeName().compareTo("item")==0){

Node n2 = n.getFirstChild();

if (n2!=null){

do{

if (n2.getNodeType()

== Node.ELEMENT_NODE){

System.out.println(

n2.getNodeName()

+ "==>" +

n2.getFirstChild().getNodeValue()

);

}

}while((n2=n2.getNextSibling())!=null);

}

}

}while ((n=n.getNextSibling()) != null );

} } }

catch (Exception e){

System.out.println("exception occurred ==>"+e);

} } }

正如上面的代码示例所示,VTD-XML使用基于游标的API浏览XML层次结构。相比之下,DOM API通过请求对象引用来浏览层次结构。访问VTD-XML项目网站,即可参阅更详细的技术资源和代码示例,上面详细解释了VTD-XML。

VTD-XML的基准测量

接下来,我们把VTD-XML和一些流行的XML解析器就性能和内存使用方面作一比较。

测试环境:测试平台是索尼VAIO笔记本电脑,配置了奔腾M 1.7GHz处理器(2 MB集成二级高速缓存)和512 MB DDR2 RAM。前端总线的时钟频率为400 MHz; 操作系统采用服务包(SP)2的Windows XP专业版; 虚拟机(JVM)采用版本1.5.0_06。

基准测试了最新版本的下列XML解析器:

● Xerces DOM 2.7.1,支持及不支持延迟节点扩展特性

● Xerces SAX 2.7.1

● Piccolo SAX 1.04

● XPP3 1.1.3.4.O

● VTD-XML 1.5,支持及不支持缓冲器重用特性 NOCOPY

测试中选择了大小和结构复杂性不同的一大批XML文档进行测试。测试文档根据文件大小分成三类: 小文件大小不到10 KB; 中等大小的文件在10 KB到1 MB之间; 大文件指大于1 MB的文件。

服务器JVM用于所有性能测评,以获得峰值性能。在这些测试中,基准测试程序先执行多次解析或者浏览操作,以便JVM可以对字节码进行动态、及时的优化,之后求得随后几次操作的性能的平均值,作为最终结果。为了减小磁盘I/O操作引起的时序变化,基准测试程序在开始进行测试前把所有XML文件读入到内存中的缓冲器里面。

有兴趣的读者可以在下面的链接中下载基准测试程序: http://sourceforge.net/project/showfiles.php?group_id=110612

分页 [1] [2] [3] [4]
master8
  • 上一篇:SQL Server 2005 SP1发布
  • 下一篇:Skype出台海外赔偿方案

  • 我要投稿  打印本文  推荐本文  加入收藏  返回顶部  关闭窗口
    搜模板(www.somoban.com) 原创网站模板交易平台
    阿里妈妈再掀疯狂采购风,网站广告位严重告急,急召天下站长
    基于PHP+MySQL的整站、模块、插件开发等或者按需求实现相应功能;
基于各PHP主流建站系统CMS,BBS,BLOG等的模板定制,完全手写代码;
整站数据迁移或备份恢复;网页代码优化、重构;整站常规SEO优化;网站技术支持;
点击了解详情...
    站长论坛
    • 验证码: