为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 技术教程 正文

XML解析

三叶资源网 2022-06-25 12:00:52 技术教程 428 ℃ 0 评论

一 xml介绍

XML是指可扩展标记语言(eXtensible MarkupLanguage),它是一种标记语言。它被 设计的综指是描述数据(xml)而非显示数据(html)。目前遵循的是W3C在200年发布的xml1.0规范。XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。

二 XML的基本语法

  1. 文档声明:

    在编写xml文档时需要先用文档声明来声明XML文档,且必须出现在第一行。

    作用:告诉解析器我是XML文档

    声明方法:

    <?xml version=”1.0”?> 中间不要加空格,两头带”?”

    当我们写好的xml文件定入内存的时候会转换为二进制保存。这个时候会查码表,记事本保存的时候是gbk,而保存的时候默认查码表用的是UTF-8,这个时候我们就可以用encoding属性(默认是uft-8)。 <?xml version=”1.0” encoding=”gbk”?>,这样可以解决乱码问题。

  2. CDATA区

    字符数据,语法:

    <![CDATA[内容]]>

    作用:被CDATA包围的内容都是普通的文本字符内容。

  3. 特殊字符

    特殊字符 替代符号

    & &amp

< &lt

> &gt

“ &quot

‘ &apos

三 XML解析方式

  1. Dom解析

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

  2. SAX解析

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

  3. DOM4J解析

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

  4. JDOM解析

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

四种解析方法对比:

1、【DOM

DOM是基于树的结构,通常需要加载整文档和构造DOM树,然后才能开始工作。

优点:

a、由于整棵树在内存中,因此可以对xml文档随机访问

b、可以对xml文档进行修改操作

c、较sax,dom使用也更简单。

缺点:

a、整个文档必须一次性解析完

a、由于整个文档都需要载入内存,对于大文档成本高

2、【SAX

SAX类似流媒体,它基于事件驱动的,因此无需将整个文档载入内存,使用者只需要监听自己感兴趣的事件即可。

优点:

a、无需将整个xml文档载入内存,因此消耗内存少

b、可以注册多个ContentHandler

缺点:

a、不能随机的访问xml中的节点

b、不能修改文档

3、【JDOM

JDOM是纯Java的处理XML的API,其API中大量使用Collections类,

优点:

a、DOM方式的优点

b、具有SAX的Java规则

缺点

a、DOM方式的缺点

4、【DOM4J

这4中xml解析方式中,最优秀的一个,集易用和性能于一身。

Tags:

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
异步套接字源码流量监控程序正则表达式教程趣生活登录MYSQL数据库HttpServer1.1文件系统对象短信轰炸机Windows Shell对象增强操作模块脚本cnzz统计百度登陆TTP-244条形码自绘Lua支持库Sqlite3数据库拖放对象模块名片点赞数独算法
最新评论