XML解析技术研究

合集下载

XML文档快速解析技术研究

XML文档快速解析技术研究
由于 X ML文档 能应用 在不 同平 台上 , 实现 数据 的协 同工作 , 它现在 已成 为不可缺 少的企业 技术 的一 部分 。比如 , ML增加 了在商场 中的 电子商务 和交 流 X
1 X ML解 析 的必 要 性
X ML解 析器 是 X ML应用 的基 础。X ML本身 只 是以纯 文 本对 数 据 进行 编 码 的一 种 格 式 , 想 利 用 要 X ML, 或者说利用 X ML文件中所编码 的数据 , 须先 必
S ML Sadr ee le ru ag ae标 准 通 G ( t adG nr i dMa pLn ug , n az k
存储结构都带来 了很大的负载压力 , 这就 导致 了 X ML
的两个关键问题 : 长和性能 。
1冗长 : X ) 以 ML格 式储存 的数 据要 比以其他 数 据库格式储存 占有的空 间要大得 多。
2 性能 : ) 由于 X ML固有的冗余 特性 , X 对 ML数 据 的管理将增大应用服务器的负担。
用标记语言) 的子集 , 它保 留了 S ML主 要使用 功 能 G 的同时大大缩 减 了 S GML的复 杂性 。它 独立 于任何 语 言和体系结构 , 是公认 的下一代 网络标记语言。
Ab t a t I to u e h h o yo a tp r igo XM L d c me t n sr c : n r d c d t et e r ff s a s n f o u n ,a d y e h d a t g sa d d s d a tg o wo p r igm e h d z dt ea v n a e n ia v a e ft a sn n s to s
陈 娟 ,李 晖 , 鱼 雷

基于事件模型的MusicXML解析器

基于事件模型的MusicXML解析器

1
武汉科技学院计算机科学学院 2009 年毕业设计论文
1.2 发展状况
现在,有许多的音频文件格式,但是并不是所有的数据格式对音乐数据交换 有意义,因为这里我们谈到的音乐数据指的是电子乐音和电子乐谱。我们接触到 的大多数都是音频格式,记录声音是直接的或间接的记录声音的波形,直接的记 录波形的方式对音乐数据 的表示作用不大,几乎不大可能从波形中得到乐谱信 息,一段 8.8kHz 的高音质 CD 虽然完全重现了声音,但是那些 0 和 1 用来表示波 形的数据只是记录的混合后的波形数据,无法得到乐器,拍号,节奏等音乐特征 信息。间接的记录波形,从间接的数据中利用软件模拟出波形的方式,恰当的中 间数据更容易帮助分析乐谱, MIDI 是间接记录声音的方式,它在电子音乐交换 中具有重要地位, 在电子乐器交换中具有重要的地位。MIDI(musical instrument digital interface)[4-7] 是一种工业的电子乐器通讯协议, MIDI 不直接记录声 音波形,只传输音调和音乐强度数字信息,MIDI 文件的数据特点便于分析乐谱, 但乐谱分析往往不能正确还原乐谱,毕竟 MIDI 只记录了声音信息,乐谱的小节, 音乐符号具体的表现没有记录,一般的基于 MIDI 的解释都是基于音轨的分析方 法,同时各种软件开发商定制的文件格式辅助存储音乐符号信息,开发者的思想 直接影响乐谱信息。从音乐家在电子乐器视谱演奏,再从录制的 MIDI 中用各种 软件分析乐谱和原谱对照谱子很可能大相径庭,各不相同。早期的乐谱软件都是 基于 MIDI, 同时为了弥补对乐谱呈现的短处, 这些软件都会对 MIDI 进行在包装 , 设计数据结构辅助存贮乐谱信息,各种软件厂商缺乏统一,使得这些乐谱只能部 分的工作在桌面程序中,无法实现阵阵意义的网络音乐服务。笔者大量接触过著 名的 cakewalk 和 guitar pro 乐谱软件,它们就是分别自定义了文件格式 .wrk 和.gtp 用于辅助存贮乐谱信息,guitar pro 是功能强大的吉他谱软件,为了满 足吉他的特点,被包装的 MIDI 文件上有很多的细节处理,如:为了表现扫弦的 过程和方向,和弦各级音都按时间进行了散列,而在 cakewalk 中和弦被认为是 在同一时间点上产生的声音事件,当把 MIDI 文件从一种软件导出,再在另外一 种软件中导入时,乐谱完全不堪入目。 基于 MIDI 在乐谱交换上的不足,人们又开发了新的数据交换格式,这个时 期最具有代表性的是 NIFF[8](notation interchange file format), 它将 音乐

XML文档解析技术研究

XML文档解析技术研究
文献5提到基于事件的拉pul1模式的解析方式xppxmlpullparser指出并行解析技术将会成为xml解析技术的一个新的关注点但是实现xml文档的并行解析目前还存在一定的困难1畅1domjaxpcrimson解析器解析dom是以层次结构组织的节点或信息片断的集合是xml数据的一种树型表示文档中所有的元素属性文本都会被解析成节点
用。 …无论是异构数据库信息的交换还是高效检 索 网页 中的 X ML数 据 , 都 需要 将 X ML数据 包含 的 内容 解 析 出来 , 从 而 得 到有 效 信 息节 点 。对 于 较小 的 XML数 据 流 , 可 以解 析 后 直 接 在 内存 中 进行处 理 , 然 后 在 缓 冲 区 中接 收 下 一 X ML数 据
具有很 好 的 自我 描 述 能 力 。X ML 以结 构 化 的方
流 。然而 , 当需要 处理 以 G B为 单 位 的大 量 X ML
信息 时 , 流处 理 和 内存缓 冲 区显 得 力 不从 心 。研
式描述 各种 类 型 的数 据 , 几 乎 可 以描 述 所 有领 域 的数据 。XML用严 格 的嵌 套标记 表 示数 据信 息 , 特别适 合 在 国际互联 网 的多点数据 交换 环境 下使
( 1 . De p a r t me n t o f C o mp u t e r S c i e n c e a n d T e c h n o l o g y , B e n g b u Co l l e g e , B e n g b u 2 3 3 0 0 0 ;
中图分类 号 : T P 3 1 1
Re s e a r c h o n t h e XM L Do c u me n t Pa r s i n g Te c h n o l o g y

基于StAX中指针API的XML数据解析技术研究

基于StAX中指针API的XML数据解析技术研究
推 。 是 一 种 低 层 A I尽 管 效 率 高 , 是 没 有 提 供 这 P, 但
SA t X作 为 用 Jv a a语 言 处 理 X ML 的最 新 标
底层 X ML结 构 的 抽 象 ,其 主要 A I XML t a P为 Sr m e
R a e.另一 种 是较 为 高级 的基 于 迭代 器 的 A I它 ed r P,
单 易读 .
关键词:SA X ; ML解析 t X; ML X
中图分 类号 :P 1 T 32 文献标 志码 : A
Jv E 5新 推 出 的 SA Sra ig A Ifr aa E t X ft m n P o e
系列 的事 件流 , 由应 用 程序 来控 制解 析过 程 , 即应 用
Jv 、 aa的 事件 驱动 的 、 用拉式 解 析方 法 的流式 A I 采 P. SA 允许 创建 双 向的 XM tX L解 析器 , 速度 快 , 易 它 容 编 程 ,占用 内存 少l l 1 .
SA 是 由 B A 公 司 领 头 开 发 的 ,同 时 得 到 tX E S n Mi oyt 公 司 的支 持 . 初 以 JR 1 3 即 u c ss ms r e 最 S 7 (
塑ห้องสมุดไป่ตู้


I 代 A) 卜 器P I
图 1 SA 的解 析机 理 tx
Fi . p r i g m e h n c f S AX g1 a sn c a is o t
S X 包括 2种处 理 X t A ML的 A I P ,它 们 分别 提
13号 Jv 范请 求 ) 布 , 于 2 0 7 aa规 公 并 0 4年 3月 通 过 了 Jv aa社 区过 程 (aa Cmm nt Poes的最 终 Jv o u i rcs) y 投 票 批 准 (t : c .g n r eali=7 )目前 , ht / po / / ti d l3. p/ re j d ? SA 已经是 Jv E 5的组 成 部 分 (t :jv. n tX aaE ht /aa u . p/ s

XML模式匹配技术研究

XML模式匹配技术研究
( ) 成 阶 段 3合 合 成 不 同 匹 配 器 的 输 出 结 果 , 进 行 要
1X 前景与特点 ML
交 换 很 难 得 到 实 现 , 为 各 种 组 织 的 应 用 因
可扩 展标 记 语言 (x e s l Mak p 程 序 对 相 同 的 标 记 名 称 也 有 不 一 样 的 理 E tn i e b ru La g a e 简称 XML) n ug , 的产生 改 变 了We b的 解 。 xM L 的模 式 出现就 是 为 了保证正 确 的 根 本 面貌 。 9 8 2 , 3 全球 互 联 网联 XML 档 的 元 素 和 属 性 , 立 一 个在 数据 1 9 年 月 W C( 文 建 盟 ) 出了正 式 的版 本XML 1 0 并 且正 式 交 换 过 程 中 的标 准 。 守 XML 式 , 范 给 ., 遵 模 规 规 定 XML 下 一 代互 联 网标 准 。 为 与HTML XML 文 档 定 义 为 有 效 文 档 , 的 当前 应 用 最 相 比X ML 有许 多优 点 : ML 具 ①X 很简 单 , 进 广 泛 的 两 种 XML数 据 模 式 语 言 是 xM L 行 自我 描 述 而 且 易于 解 析 。 ②HTML中的 S h m 进 行扩 展 , 是 X 可 ML 的 标 记 则 由 用户 定 义 , 任 意 的 扩 展 。 能 ③ 3 X 锯 析 ML HTML 的标 记 表 示 方 法 是 数据 的显 示 格 中 对 xM L文 档 进 行 操 作 的 不 是 应 用 程 式, 无任 何 语 义 , 可是 XML 的标 记 就 明确 规 序 , 是首 先 由XML 而 分析 器 分析 X ML 文档 , 定 数 据 的含 义 , 细 粒 度 的XM L 为 数 据 然 后 , 过xML 让 成 通 分析 器所 提 供 的DO M接 E l 处理。 ④XML 实现 了结 构 、 表现 和 内 容 三者 或 S Ax接 口应 用 程 序 对 分 析 结 果 进 行 操

XML的相关技术及数据交换研究

XML的相关技术及数据交换研究

1 X 的 相关技 术 ML
X 为 e tni e ru a gae ML X es l Mak PL n ug 的简称 , b 即可扩 展标记语 言。X ML是以一种 简单 、 标准 、 可扩 充的厅式 , 将各种 信息 如文本 、 表格以及罔形等以原始数据的方式储存 。 XMI 具有扩 展性 强 、 简单 易懂 、 在不 同平 台问信息传 递 的优点 。 同时 X 可 MI 支持 多语 种文件 U i d , 开始设计 nc e 在 o X ML时 , 设 ‘ 者便考虑 到信息 的流通 不应该 只受限于一个 国家或是一 个 区域 , 随着 It n t ne e在伞 世 的普及 . 一份文件 能 r 将
X MI 文水本身可以看成是数据库 中的数据 区 , T D D或者 S hma 可以看成是数据库模式设计 , Q 几 以看成是数据库查询语 ce s X Ll 『
[ 收稿 日期 ]0 9 1— 9 2 0 — 0 0 [ 作者简介 ] 王智军 (9 3 )男 , 17 一 , 内蒙古赤 峰人 , 讲师 , 硕土 。
11 口扩展 的样式语 言 .. 』 2
XL S 是用于规定 X ML文档样式的语言 。X L能使 We 浏览器改变文 的表示法 。X L能使 We S b S b
浏 览器直接根 据用户 的不 同需求 改变文 档的显示 法 。例 如 , 不需要 与服务器 进行交互通 信 , 町以改变数据 的显示顺 序 。 就 通过变换样式表 , 可以展 开或折叠文档。基于 X 的 网站除 了运行速度更快 、 ML 更易使用外 , 而且 对用 电是透明的。 11 可扩展链接 语言 .3 . X L 持 目前 We 上 已有的简单链 接 , L支 b 并且将进 一步扩展链 接 , 包括结 求死链接 的间接链 接 以及

XML技术在信息共享领域的应用研究

XML技术在信息共享领域的应用研究
关键 词 : 息共 享 X 技 术特 点 xML 术 的应 用 X L 信 ML 技 M 的信 息共 享模 型 中图 分类 号 : 7 6 F l 文献标识码 : A 文章 编号 :0 79 1 (0 1o —120 10 —4 62 1)80 0 -3
Applc i i at on nd a Res ar h e c ofXM L
K y e wors i f r t n s a n , d : o mai h r g XM L tc n cl e t r s XM L a p i t n XM L b sd i fr t n s a n d 1 n o i eh ia fau e, p l ai , c o — ae o mai h r gmo e. n o i
no ig die ty e ta t d a h rd.Th rf r ,h tben r cl xr ce nd s a e e eo e ow fe t l o e c a g nd s a ei o ai t e n hee o e e ssse a c e ci y t x h n e a h r nfr t ve m on bew e tr g n ou y t msh sbe om ea n i po tn ee rh t p c n ti a r ppiainsa d a v ntg so m ra trs ac o i.I hsp pe,a l to n d a a e fXM L t c oog n t n o ai h rngf l sr sac e Thed veop e to c e hn l y i heif r t m on s a i ed i ee r h d. i e l m n f i o ain s a nga d faurso M L e h l y sa lz d, rncp ea mplm e tto fXM L~b sd if r t ha ngi sude . nfr to h r n e t e fX m i t c noog i nay e p i il nd i e n ain o a e n o mai s r s t id on i

XML技术在铁路信息交换中的应用研究

XML技术在铁路信息交换中的应用研究
X ML文档 的 内容不 受信 息 显示 方 式 的影 响 . 结构 其
形 式可 以通 过 c sc sa igSyeS et, 联 样式 s (acdn tl h es级 单 ) 者 X LE t s l SyeL n u g . 扩展 的样 或 S (xe i e t a g a e 可 n b l
维普资讯
铁 道 技 术 监 督
第3 4卷
第 l 0期
志、 内容模式 、 属性和实体等方面的描述来规定和检 查X ML文档 有效性 ,只有有 效 的 X ML文档才 能传
输 , 后再把 消 息翻译 成本 地 代码 , 然 最后 映射 成本 地 数据 库 的数 据操 作指 令 , 以便在 数 据库 中存储 、 改 修 和 删 除数 据 . 果 X 如 ML文 档缺 乏 有 效性 , 么在 接 那 受 和发送 XML消 息时 就要经 过 代码转 化 。 消息 的返 回过 程 与上 述 过程 相 反 , 生 成 X 先 ML消 息 , 再将 本 地代 码转换 为标 准代 码返 回给消息 源 。 实际 上 , 次 一
维普资讯
第3 4卷 第 1 O期
Vo.4 1 3 No 1 .0
铁 道 技 术 监 督
R IWA U LT O T O A L Y Q A IY C N R L
标准化 工作
S ANDA T RD Z I ORK I AT ON W
运营。 XM ( x n i eMakL nu g L Et s l e b r a g ae可扩 展 标 记 语
利用 X L M 技术 , 铁路企业的信息可 以准确 、 及 时、 完整地传送到 目的地的内部信息系统 。 是网际服 务器 与应用 程序 之 间 ,应 用程 序 与用户 之 间进行 数

XML技术研究

XML技术研究
对当今 瞬息万变的商业 环境 , 一个公司 想要成功 , 必须把信息技术转化为 自己的商业 优势 , 其中包括能够在合适的时问 , 把合适的信 息交到合适的人手中。 不幸的是 , 现实于此截然



6O 一
关键词: XMLHT ; 记 语 言 ; ML标
的解释。浏览器中预定义 了特定标记的特定显 对给定的 X L M 文档进行变换之后生成的。 现在 示 或逻辑方 案 ; T L的主要功能 在于通过浏 我们要将 网站的内容放在一本书中,只需要重 HM 览器完成对信息的显示 , 即信息 的格式化控制。 新定义 X L , ST 给出变化规则 , 可以将 内容完 就 X ML是 S ML是文档的精简版本 。S ML过 于 美的再现在另外 的一种形式中了。 G G 复杂 ,学习难度和开发难度都很大 ;M X L的主 6 M 用于通信。 M 的应用在于于计 .x L 2 X L 算机之间的数据交换。当—个系统可能有几台 相反 , 几乎所 有 的 n 部门 , 被巨大 、 ’ 都 错综复 要特点如下 : 杂、 新旧交替的系统所 累, 而且受到资源的极大 41不同系统平台的信息互通。 . 服务器 ,同时使用不同的操作 系统和数据库的 时候 ,不同系统之间的数据交换将变成一个十 制约。 4 . 2整合多种不同数据源的数据 。 由于世界上存在着如此多 的、 完全不 同的 M 我 43平衡 客户端和服务器端的处理负荷 。 分令人头疼的事情。当采用 X L规范以后 , _ 客户平台 , 在不同平台问交换数据 , 同时还要保 44以灵活多变的方式显示数据。 . 们只需要接收 X L M 标记 的数据 ,遵循在 I D Y r 45更精确的数据检索。 . 中定义的规范 ,而不需要知道对方 的系统是什 证数据的完整和服务的高效 ,这是 件令人头痛 的事情 。在大型 We b应用中, 工程师们往往被 5有了 H ML 为什么还需要用 X ? T , ML 么。 因为 X L M 数据不与任何类型的客户方栓在 数据格式的转换弄得疲惫不堪 ,即便是整理完 S ML的一个重要的派生 ,就是超文本标 起 。 以它提供 了一种很容易在 网络上传输 G 所 成 的数据 , 如何让各种客户端都能正确获取和 记语言 H ML T 。几乎所有的用户都熟悉 H ML 的非常简单的数据表示方式。 T , 理解也是不小的麻烦。 最终 , 这一问题成为制约 人们感谢 H ML 正是 由于 IF T , T ML标 准的出现 , 6 M 用于配置 。作为应用程序服务器 .X L 3 增加了技术的可移植性 。 实际 we e i 发展的瓶 颈。近年来 , b Sr c ve 随着企业运 才使 It t ne 走出了实验室 , me 成为人人皆可使用 的配置说明文档 , 营 国际化的趋势越来越明显,垮平台垮语言 的 的工具, 也成为影 响世界最重要的技术 , 它不但 上,从 s M 派生出 X L G L M 子集的主要原因是 , 远程调用成为一种迫切需要的能力 ,人们需要 改变了人们的生活 , 也改变 了世界运转的方式 , 编写处理 S M G L文档的应用程序太笨拙 了。如 种平台无关的、能够同时被人类和机器所理 同时 , 更为软件的开发形式带来 了多元化的形 果希望 X L M 有实用性 , 那么它就必须很容易编 解 和处 理 的 文本 数 据 格 式 。 而这 种 技 术 的核 心 , 式 。 写文档处理程序、 文档浏览器和其它程序 , 只有 就是 X 。 ML 因为现在网络 应用越来越 广泛 ,仅仅靠 这样 , 使用 X L的代价才不会太大 。 M 2X ML概 述 HM T L单一文件类型来处理干变万化的文档和 7使用 X L M 的好处 X ML是 E t s l Mak p L n u g xe i e n b ru a g a e的 缩 数据 已经力不丛心 , 而且 H ML本身语法十分 T 71X 可 以广泛地运用 于 W b . ML e 的任何 写, 中文含义为“ 可扩展标 记语 言” M 。X L首先 不严密 , 严重影响网络信 息传送和共享。 人们早 地方。 是一种标记语言而且是用来创造标 记语言 ( 已经开始探讨用什么方法来满足网络上各种应 比 7 M 可以满足网络应用的需求 。 .X L 2 如 HM ) T L的元语 言 ; 其次 , 它是一种 可扩展 的 用 的 需 要 。 7 . 3使用 X L M 将使编程更加简单 。 标记语言 , 因为在 X 中允许用户 自己来创建 ML 74XML便于学习和创建 。 . 使用 S M 是可以的, S M 太庞大 , G L 但 G L 编 标签 , 所以叫做可扩展性 。 程复杂 ,于是最终选择 了 “ 减肥”的 S ML— G 7 ML . X 代码将清晰和便于阅读理解。 5 标 记语言是 指在 普通文本 中加 入一些具 X ML作为下一代 We b运用的数据传输 和交互 8结 论 有特定含义的标记 ,以对文本的内容进行标识 的工具 。和 H ML一样 ,ML 是依据 S ML标 T X G 新旧技术的集成是当今商业面对的一个巨 和说明的一种文件表示方法 。标记语言对文档 准演 化 而 来 的 。W3 此 建 立 了 X C为 ML工 作 组 大的挑战 , 在许多企业环境 中, 每一种平台都有 的意义进行了分析和细化 ,使得计算机应用软 ( xwG) 开 始 创建 XM 来 L的进 程 。X ML将 派 生 它工作的最佳范围,一个平台不可能 良好 的完 件对文本的意义也就有了一定程度 的理解。 于 S L,但与 S ML相 比, L将大 幅度简 成包 罗万象的任务 , GM G XM 基础结构是在发展中逐渐 3XML的标记特性 化, 原则上它只使用 2 % G L 0 S M 标准 , 但需要发 充实 完善 的,因此 ,M X L技术的研究还有更大 3 . 1作为一种标记语言 , 它最基本的功能 挥 了 8 %的效力 。同时与 H ML相比 , 0 T 它需要 的发 展 空 问 。 就是在文档中添加标记, 而且, 标记的添加必须 更加严谨 ,而且更适合于计算机之间的数据交 参 考文 献 遵循一定的规则。最为直观的规则就是标记必 换 。 『 1 1周爱武, 李孙长, 程博等. M 数据库的研究 X L 须成对出现 。 6X ML的应 用 与应 用 【1 J .计算机 技 术与 发展 ,0 9 1 () 2 0 ,99 : 2 4. 8 3 . 2所使用的标记都是非预定 义的,即用 61X . ML用于表示 内容。内容与表现形式 21 - 2 户 自己定义的。只要遵守 X ML的标 记命名规 的分离 , 一个 X ML文档中几乎所有的内容都是 『1苗 维 杰, .基 于 X 2 天辉 ML代 码 生成 技 术 的应 则, 可以在文档中添加任何标记。 数据和数据结构 , 它主要用于传递数据, 对数据 用研 究 . 元 器件 应 用 ,0 9 l(o:5 8 . 电子 2 0 ,11)7 — 2 3 . 3用户 自 定义的标记 , 户可在文档内, 的表 现 完全 被 剥 离 。 用 f】陈腾 . 3 基于 XML数据发布的设计和 实现m. 也可以在文档之外进行说明。 标记的说明称为: 现在的大部分 网站都是用 H M T L编写的。 地 理 空间 信 息 ,09 75:7 9 . 2 0 ,()8 — 1 DT D。 网页设计师们精心设计的网页 , 能够在 We b浏 f1 治俊, 4 邢 王凌飞, 谢声时等. 浅谈 X ML解析 3 M 文档的标记只描述文 档的内容, 览器上很漂亮的显示出来 ,但是如果想把这些 技 术 明. 南金 融 电脑 ,0 9 1fo: 15 . .X L 4 华 2 0 ,】】 ) - 2 5 具体说 , 只描述文档的结构和意义 。 不描述其任 网页所 包含的内容重新设计在一本书 中的话 , 作 者 简 介 : 宁 (9 5 ) 女 , 师 , 士 , 任 17 一 , 讲 硕 研 何显示 、 出等格式化信息。 输 显然 , 浏览器上 的漂亮 内容就不能很方便 的在 究方 向 为软 件 工程 和 网络技 术 。 4XML和 H ML的 比较 T 书中体 现出来 了。但是 ,ML的出现为解决这 X H ML通过在 文档 中添加具 有特定 意义 种问题提供了一种 良好 的解决方案 。 T 的标记来组织 文档 ; T L所使用 的标 记都 是 HM 因为 XM L只是定义数据 , 它并不关心数据 预定义 ( 固有的标 记) 不同的 H M 版本具 是如何显示 的, 的, T L 所以用 X MI设计出的网站其 内 有不同的标 记集合 ; 浏览器完成对 H M 文 档 容和显示是分离的。一般的网页是通过 X L TL ST

XML技术在IEC 61850标准中的应用研究

XML技术在IEC 61850标准中的应用研究
维普资讯
20 0 7年 1月
西







Jn 2 0 a .0 7
Vo .2 No 1 1 1 .
第 1 2卷 第 1 期
J OURNAL OF XIAN ’ UNI VERS TY OF P T AND TELE OM M UN I ATI I OS C C ONS
1 XML应用 于变 电站 配 置 的研 究
1 1 变 电站配 置语言 分 析 .
标记语 言 ) 万 维 网联 盟 ( c) 建 的一 组 规 范 , 是 w3 创 用 于在 w e 上 组织 、 布各 种信 息… b 发 1。它不 仅 可 以 满足迅 速增 长 的网 络 应 用 的需 求 , 能 够 确 保 网络 还
能 电子 装置 能力 描述 和变 电站系统 与 网络通信 拓扑 结构 描 述 J 体包 括 以下 内容 : 。具 描述 一 次 系统 结
进行交互操作时具有 良好的可靠性与互操作性 。
XML的语 法类 似 H TML, 标 签 来 描述 数 据 。 用
H ML的标签是 固定 的, T 用户只能使用, 不能修改。
收稿 日期 :0 6 9 5 2 0 —0 —1
构包括使用哪些一次设备功能、 设备如何连接 ; 描述
作者简介 : 黄文华( 9 0 , , 18 一)女 江苏江阴人 , 西安邮 电学院信息与控制系讲 师。 朱渝宁( 9 7 , , 17 一)男 辽宁辽阳人 , 重庆市 电力公司江津供电局工程师 。
X ML则 不 同 , 没 有 预先 定 义 好 的标 签 可 以使 用 , 它
引 言
IC 680作 为 下 一 代 变 电 的 无 缝 通 信 标 E 15

VxWorks平台XML文档显示技术研究

VxWorks平台XML文档显示技术研究



针对 电子文档 已经成为 日常办公交 流中不可或 缺的重要信 息载体 , 分析 了嵌 人式系统对 文档处理 的需 求特
点 , 出一种在 Vx rs 台实现微软办公文档解析显示 的方法 , 提 Wok 平 并通过 c语 言编程在 MiiUI nG 图形 系统上对示例 进行
了验 证 。
关键 词
用及容错实时调度算法 。
21 0 0年第 2 期
计算机与数字工程
7 9
文档格 式能 很好地 解决 这一 问题 。 目前 , 开放 的文
1 引 言
Vx rs操 作 系 统 是 美 国 风 河 公 司 ( n Wok Wi—
终端 系统也 需要特定 的办公 能力 , 如对 电子文档 例
进行查 看 、 辑 和 保 存 等 基本 功 能 。 同时 , 入 式 编 嵌
操作 系统要 求配 置 简 洁 、 能适 用 , 为提 供 办公 功 作
Vx ok ;办公 软 件 ;文档 格 式 ;解 析 W rs TP 9 33
中 图分 类号
Re e r h o c ni u s o s a c n Te h q e fXM L D o um e t i p ay f rVx o ks c n sD s l o W r
性 , 泛应用 于通 信设备 、 广 工业 控 制 、 事 电子 等各 军
个 领域 口 。随着 Vx ok 在 这 些 领 域 的使 用 , q] W rs
办公软件 的多样 化 带 来 的直接 问题 是 文档 格
显现 出其在 办公 能 力 方 面 的 薄 弱 , 没有 相 应 合 适 、 配套 的办公 软 件 。 因此 , Vx rs 入式 平 台 对 Wok 嵌

如何利用Java语言进行XML编程的研究报告

如何利用Java语言进行XML编程的研究报告

如何利用Java语言进行XML编程的研究报告随着计算机技术的不断发展,XML(可扩展标记语言)已经成为Web数据交换的一种标准方式。

它是一种使用标签描述数据的语言,具有自我描述性以及能够方便地扩展的特点。

而Java语言可以很好地与XML技术相结合,用于XML编程。

本文将介绍如何利用Java语言进行XML编程的方法和技巧。

一、读取XML文件Java语言中提供了许多读取XML文件的工具,如DOM、SAX、JDOM、XMLBeans等。

其中DOM(文档对象模型)是最常用的读取XML文件的方式。

DOM是一种树状结构,将XML文档中的标签、属性、内容等信息以节点的形式表示,每个节点都有一个唯一的节点名和一个节点值。

通过使用DOM解析器,Java程序可以将XML文档转换为DOM树,然后通过遍历DOM树的方式实现对XML文档的读取。

二、创建XML文档Java语言中也提供了多种创建XML文档的方式,如DOM、JDOM、XOM、StAX等。

其中DOM仍然是最常用的方式。

通过DOM创建XML文档的过程与读取XML文档的过程类似,只不过是反过来了。

先创建一个空的DOM树,然后按照XML文档的结构,在树中添加标签、属性和文本节点等元素,最后将DOM树转换为XML文档。

三、解析XML文件解析XML文件是将XML文档转换为Java对象,使程序能够方便地使用XML数据。

Java语言中可以使用JAXB、Castor、XMLBeans等工具进行XML文件的解析。

其中,JAXB(Java Architecture for XML Binding)是最常用的XML解析工具之一。

JAXB通过将XML数据映射到Java对象上,实现了XML文档的解析和Java对象的序列化过程。

四、使用XPath查询XML数据XPath是一种用于在XML文档中查询信息的语言,它可以实现XML数据的定位、筛选和排序等操作。

在Java语言中,可以使用JDOM、DOM4J等工具实现XPath查询XML数据的功能。

XML文档解析技术研究

XML文档解析技术研究
问 DO 树 的 内容和 结 构. M
1 2 解析 方法 及过 程 . 1 2 1 解 析过 程 ..
基于 D OM 的解 析 是一个 三 步过 程 : 面 以 e lye.ml 下 mpoesx 为例 , 现对 其在 Jv 实 aa环境 的解 析.
收 稿 日期 ; 0 6 0 — 4 2 0- 11
V 15 o. No 1 .
Ma . 2 0 r 06
20 0 6年 3月
XML文档解析技 术研究
常春 燕 李定主
(. 1 中北 大 学 , 山西 太 原 0 0 5 . 方 自动控 制 技 术 研 究 所 , 3012北 I 山西 太 原 0 0 0 ) 3 0 6
[ 要 ] 对 两 种 XM L 文 档 解 析 技 术 作 了详 细 介 绍 , 对 这 两种 技 术 进 行 了 比 较 . 摘 并
的新 型 We b语 言. 具有 自描述性 、 它 数据 结构 高 度规 范 、 良好 的扩 展性 、 以及 其 数据 与 平 台无 关性 等 诸 多优
点n. ] 有很多应用程序都使 X ML表示数据 , 并保存为 X ML文档。 如何有效识别及提取 X ML文档中的数据
是对 X ML文 档数 据 后期 处 理 的前 提 . 这就 需 要 对 文档 解 析 , 常有 两 种方 法 , 于 DOM 的解 析 技 术 和基 通 基
5 5
Fi o F l — n w l ( e po e s x l ) ldci e e e Fi “ m l y e . m ” ; e
Do u n o = n l; c me td c ul .
Do u n B i e Fa t r b = Do u n Bule F co y n wl s a c ( ; c me t u l r c o y d f d c me t i r a t r . e n t n e ) d Do u n Bule b= d f n wDo u n Bul e ( ; c me t i rd d b. e c me t i r ) d d c d . a s ( o F l ) o = b p red c i ; e

XML技术在军事信息系统数据交换和集成中的应用研究

XML技术在军事信息系统数据交换和集成中的应用研究

XML技术在军事信息系统数据交换和集成中的应用研究摘要:随着军队信息化的不断推进,网络环境下多军事应用协同工作逐渐常态化,这对多应用间的数据交换和集成提出了较高的要求。

分析了基于XML技术进行数据交换的原理与特点,重点论述了基于XML进行数据交换的模式与实现流程,并结合实例提出了基于XML 进行军事信息系统数据交换和集成,以及有关安全的解决方案。

关键词:XML;数据交换;数据集成;军事信息系统0 引言军事信息系统中,各种数据来源不一、类型多、结构性强、交互流程复杂、保密要求高,既有陆情、海情、空情、二炮等军种专用情报数据,又有情报侦察、预警探测、指挥控制、军事通信、信息对抗等各种业务共用指挥数据,还有气象水文保障、测绘保障,以及军务、政工、后勤和装备等通用保障数据,数据交互和集成需求如图1所示。

上下级系统和各应用系统尽管技术体制统一,但往往一个系统的输出是另一系统的输入,如作战编成和作战任务的下发、装备保障需求和战损统计的上报等,需要采取统一的数据格式,让用户以透明的方式进行数据访问和交互,从而集中精力进行业务处理,极大地提高指挥效率,如图1(a);军兵种系统间,各种数据由于建设阶段不一、数据特点各异,因而使用的数据管理系统、数据本身存储组织形式、数据字典都不一样,数据共享和交互比较复杂,很难使用统一的形式进行访问,需要进行综合集成,如图1(b);业务系统间,各种情报信息、态势信息、保障信息以及军事信息需形成完整的战场信息回路,将传感器、指挥控制系统和武器系统连接起来形成一体化的武器装备体系,从而形成信息优势,实现对各个作战部队、武器系统实时、快速和准确的指挥与控制,保障一体化联合作战的顺利实施,如图1(c)。

统一数据交换标准,是实现军事信息系统数据集成、进而实现系统集成,满足上下级间、军兵种间、业务部门间各个业务要素分系统之间信息共享和相互协同的需要,提高系统互联、互通、互操作能力,形成信息优势和决策优势,完成作战指挥使命任务的前提和基础。

XML技术在B2B电子商务中的应用研究

XML技术在B2B电子商务中的应用研究

XML技术在B2B电子商务中的应用研究第一章:引言B2B电子商务是近年来快速发展的领域之一,XML技术被广泛应用于该领域中。

本文将着重对XML技术在B2B电子商务中的应用进行研究,探究XML技术的优势和局限性。

第二章:XML技术概述XML(可扩展标记语言),是一种用于描述和传输数据的标准规范。

它利用标签来描述和组织数据,不仅可以将数据传输到不同平台中,还可以进行数据分离、简化和标准化。

XML可以定义自己的标签,从而实现面向对象的数据交互。

第三章:XML技术在B2B电子商务中的应用1. 数据交换标准化XML技术在B2B电子商务中最主要的应用就是进行数据交换标准化,它可以帮助不同企业之间进行数据交换。

XML文件的格式可以在所有计算机系统之间实现共用,从而使得企业之间的数据交换变得更加容易和快捷。

同时,XML技术可以对数据进行严格的验证和规范,从而最大限度地避免数据的错误和重复。

2. 电子商务的业务流程管理XML技术还可以在B2B电子商务中实现业务流程管理。

通过建立一个业务流程模型,企业可以将其业务过程标准化,实现各个部门之间的协同。

XML技术可以实现对不同的企业数据进行分类,并对不同数据流的实现进行不同的操作,从而实现自动化业务流程管理。

3. 网络服务管理XML技术可以帮助企业进行网络服务管理,从而实现多个不同平台之间的协同。

企业可以使用XML技术来描述它的网络服务,并通过网络连接其他企业的XML描述,从而实现整个网络的服务链。

这样,不同的企业就可以通过网络资源共享,实现资源的最大化利用。

第四章:XML技术的优势和局限性1. 优势XML技术具有良好的可读性和可扩展性,使得它能够在不同平台之间进行数据交换。

它还可以通过XSLT对XML文档进行转换和处理,从而实现XML文档的多种显示方式。

XML技术在数据管理和处理中具有灵活性和可靠性,可以实现多层次的数据处理和管理,提高数据的利用价值。

2. 局限性与JSON技术相比,XML技术的处理速度较慢,因为XML技术必须首先将其文档解析为文本格式,然后再转换为数据格式。

XML技术在分布式应用中的研究及其应用的开题报告

XML技术在分布式应用中的研究及其应用的开题报告

XML技术在分布式应用中的研究及其应用的开题报告一、选题背景随着网络技术的不断发展,分布式应用正成为越来越多的应用开发者的首选。

在分布式应用中,不同的应用之间需要进行数据的交换,因此数据交换的规范化和标准化成为了一个非常关键的问题。

XML作为一种通用的数据交换格式,在分布式应用中具有广泛的应用前景。

二、选题意义和目的XML技术是一种非常重要的数据交换技术,其在分布式应用中的应用已经越来越广泛。

本次研究的目的是深入研究XML技术在分布式应用中的应用,探讨XML技术在分布式应用中的优点和不足,并进一步探究如何克服XML技术在分布式应用中的不足,提高XML技术在分布式应用中的应用效果。

本次研究的意义在于提高分布式应用开发的效率和质量,增强XML技术在分布式应用中的应用前景。

三、研究内容1. 分析XML技术在分布式应用中的应用特点和优势。

2. 探讨XML技术在分布式应用中的应用不足和局限性。

3. 研究如何克服XML技术在分布式应用中的不足,提高XML技术在分布式应用中的应用效果。

4. 根据研究成果,开发并实现基于XML技术的分布式应用系统。

四、研究方法本次研究将采用文献研究和实验研究相结合的方法。

通过查阅近年来国内外有关XML技术在分布式应用中应用的文献和资料,深入研究XML技术在分布式应用中的应用特点和优势;通过实验研究,探讨XML技术在分布式应用中的应用不足和局限性,并研究如何克服这些不足和局限性,提高XML技术在分布式应用中的应用效果。

五、预期成果通过开展本次研究,预期可以得到以下成果:1. 深入分析XML技术在分布式应用中的应用特点和优势。

2. 发现XML技术在分布式应用中的应用不足和局限性。

3. 提出解决XML技术在分布式应用中应用不足和局限性的方法。

4. 开发并实现基于XML技术的分布式应用系统。

5. 将研究成果用于提高分布式应用开发的效率和质量,增强XML技术在分布式应用中的应用前景。

六、研究计划本次研究计划分为以下几个阶段:第一阶段:调研阶段,负责人根据选题背景,通过大量文献资料的搜集、阅读和分析,对XML技术在分布式应用中的应用进行调研,撰写调研报告,并确定研究内容和方向。

XML模式匹配技术研究

XML模式匹配技术研究

XML模式匹配技术研究摘要:目前随着Web上数据的倍增,针对庞大的信息海洋,人们面临Web上存在的两大问题:一是Internet速度非常慢,有时像爬行的蜗牛。

二是即使可以在线获得各种信息,但是要找到所需要的信息却极度困难。

这当中有硬件方面的原因,但最主要的原因是由于目前Web 语言—HTML的性质引起的。

关键词:XML模式技术研究1 XML前景与特点可扩展标记语言(Extensible Markup Language,简称XML)的产生改变了Web的根本面貌。

1998年2月,W3C(全球互联网联盟)给出了正式的版本XML 1.0,并且正式规定XML为下一代互联网标准。

与HTML相比XML具有许多优点:①XML很简单,进行自我描述而且易于解析。

②HTML中的标记是不变的,不能进行扩展,可是XML的标记则由用户定义,能任意的扩展。

③HTML中的标记表示方法是数据的显示格式,无任何语义,可是XML的标记就明确规定数据的含义,让细粒度的XML成为数据处理。

④XML实现了结构、表现和内容三者的分离。

1.1 自描述性XML准许个人、各个组织建立适合自己的标志集合,这一特征可以让XML在电子商务、保险机构、政府文档、司法、出版、、厂商以及中介组织信息交换等领域进行广泛应用,面对厂商、不同系统提出独特的解决方案。

1.2 可扩展性XML在两个方面是可扩展的,首先它准许开发者创建自己的数据模式,以便创建多种应用的“可扩展”标记集。

其次,它使用与XML相关的标准,这样对XML的扩展,同时这些扩展给XML添加了查询、转换、链接的能力,同时XML作为核心标准,它可以为创建其他标准提供了一个稳固的基础。

1.3 跨平台性XML不仅在多种平台上使用,还可以用多种工具对其进行解释,并对几种主要的字符编码作为主要标准支持,所以它能在全世界使用在许多不同的计算机环境中。

只要在各系统装有相应的XML解析工具,那么就能理解它是以XML为中介把其他系统传递来的信息加以利用。

利用XML实现数据访问技术研究

利用XML实现数据访问技术研究
定到 H M T L文档 的 T B 元 素 上 了 。 于是 这 些 AL E H M 元素就会 自动 的显示他们所 绑定 的 X L TL M 元素
内容 。
< ml i = my o t d sc ” su .ml> / ml x d ” Ds S u ” r = my t dx ’ < x > < a l i = s d a l ” t be d ” t T e u b DAT RC # Ds S u ” AS =” my o t d
曲 巨 宝
( 武夷学 院 计算机科学 与工程系 , 福建 武夷山 3 4 0 ) 5 30
摘要 : 利用 X L在数据处理上的超强表现力, 出了三种显示、 M 提 管理、 X 访问 ML数据的实现技术。 关 键 词 : MI x ; 数据访问; 技术
中图 分类 号 :P 9 T 33
文 献标 识码 : A
收稿 1期 :0 7 3 2 5 20 —— 0 1 基金 项 目: 武夷学 院科技 资助项 目( Q 0 03 X L61) 作者 简介 : 巨宝(93 )男 , 曲 16一 , 汉族 , 副教授 , 士, 硕 主要研究 方 向 : 计算机 网络 与数据存 储
。 .
<t > < a e s u nm >张楠 < a e <l s0 d / > c s 6通 信 1 n m a>
班 < ls /c s> <s u a /d> t
<t > < a e 委 < a e c s 0 计 算 机 s u n >李 d m / >< l s 6 n m a> 应用 2班 < l s> <s u /c s a /d > t
< sd L a t > /t u is
d tp e ie 4” b r r ” ” > aa a sz =” g o de = 1 -
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

XML解析技术研究摘要:XML作为过去十年中出现的最流行的技术之一,得到了广泛的应用,而其中XML解析技术是XML应用的关键。

本文介绍了XML解析技术的研究动向,分析和比较了4种XML解析技术的优劣,并归纳总结了应用系统设计中选取合适的XML解析技术的原则。

1 引言XML(eXtensible Markup Language,可扩展标记语言)是由World Wide Web 联盟(W3C)定义的元语言,即一种关于语言的语言。

XML的设计源于SGML (Standard Generalized Markup Language,标淮通用标记语言),是SGML的子集,其目的是为了促进Internet上结构化文档的交换。

简单的说,XML是一组规则和准则的集合,用于以无格式文本来描述结构化数据[1].1996年W3C联盟就开始从事XML的标准化工作,并于1998年2月10日发布了XML1.0.XML的出现给分布式计算领域带来了重大影响,其力量源于它的数据独立性[1].XML是纯数据描述,与编程语言、操作系统或传输协议无关,从而将数据从以代码为中心的基础结构所产生的约束中解放出来,让数据能够在Web上更自由的流通。

然而XML本身只是以纯文本对数据进行编码的一种格式,要想利用XML,或者说利用XML文件中所编码的数据,必须先将数据从纯文本中解析出来,因此,必须有一个能够识别XML文档中信息的解析器,用来解释XML文档并提取其中的数据。

然而,根据数据提取的不同需求,又存在着多种解析方式,不同的解析方式有着各自的优缺点和适用环境。

选择合适的XML解析技术能够有效提升应用系统的整体性能,因此,了解和区分各种不同的XML解析技术就显得尤为重要。

2 XML解析技术分析所有的XML处理都从解析开始,无论是使用XSLT或Java语言,第一步都是要读入XML文件,解码结构和检索信息等等,这就是解析,即把代表XML文档的一个无结构的字符序列转换为满足XML语法的结构化组件的过程。

2.1 XML解析技术的分类根据从XML中获取数据的简易性,性能和最终所得到的数据模型的不同,XML 解析技术大致可分为以下四类:1)面向文档的流式解析;2)面向文档的对象式解析;3)面向文档的指针式解析;4)面向应用的对象式解析;这四类解析技术分别处于不同的抽象层次,适用于不同的应用场景,有着各自的优缺点。

针对具体的应用需求,选择合适的解析技术,往往能够减少内存消耗,缩短处理时间,更方便地获取数据,提高应用系统的整体性能。

2.2 面向文档的流式解析技术流式解析是一种基于事件的解析过程,解析器顺序读取XML文档,产生一个对应的事件流,并向事件处理程序发送所捕获的各种事件,如元素开始和元素结束等,而事件处理程序则通过不同的方法处理这些事件。

流式解析是将XML文档作为一个数据流来处理,因此,它具有类似于流媒体的优点,能够立即开始读取数据,而不是等待所有的数据被处理。

而且,由于应用程序只是在读取数据时检查数据,不需要将整个文档一次加载到内存中,使得在处理大型文档时具有较好的时间和空间上的效率。

然而效率的代价是易用性的降低,流式解析编程较为复杂,程序员需要负责更多的操作。

并且由于应用程序没有以任何方式存储数据,所以使得更改数据或在数据流中往后移是不可能的。

再加上它的单遍解析特性,意味着它也不支持随机访问。

流式解析又分为两种解析方式:推式解析(SAX)和拉式解析(StAX)。

这两种方式的主要区别在于是由解析器还是应用程序控制读循环(读入文件的循环)。

2.2.1 推式解析(SAX解析技术)SAX(Simple API for XML)解析技术就是一种推式解析,在这种解析方式中,解析器控制着读循环,在文档结束之前控制权不会返回给应用程序[3].解析器通过回调的方式进行数据处理。

SAX提供了一个用于处理XML的,基于事件驱动的简单API.它的设计开始于XML-DEV邮件列表成员间的讨论,他们开发出的第一个接口草案SAX1.0于1998年1月发布,其后在2000年5月发布了SAX2.0,目前最新版本是2004年4月发布的SAX2.0.2.SAX没有经过官方的标准机构认可,它不由W3C联盟或其它任何官方机构维护(现在,SAX由David Megginson维护) [4],但它被广泛使用并视为XML社区事实上的标准。

SAX最初是为Java而定义的,但也可以用于Python、Perl、C++等其它语言。

SAX是基于事件驱动的,即SAX解析器在读取XML文档的过程中生成一个事件流,并且对于每个事件通过回调事件处理程序中相应的方法来进行处理。

比如元素开始和结束标记,元素内容,实体,语法分析错误等事件。

针对下面的简单XML文档,所产生的事件如图1所示,注意针对元素内的空格或回车也会生成一个文本事件。

图1 SAX解析器生成的事件SAX中的核心事件处理程序是一个实现了ContentHandler接口的类。

此接口中定义了处理与XML文档本身关联的事件的方法,如 startDocument、endDocument、startElement、endElement、Characters等SAX解析技术具有所有流式解析技术的优点和缺点,但是由于在整个解析过程中,解析器掌握着控制权直到文档结束,应用程序很难在获得所需的部分数据后停止解析过程(可以通过抛出异常的方式终止解析过程,但较为复杂,而且终止后也无法继续解析过程),因此产生了由应用程序掌握控制权的拉式解析方式。

2.2.2 拉式解析(StAX解析技术)StAX(Streaming API for XML)解析技术是一种拉式解析,在这种解析方式中,应用程序控制着读循环。

循环中,应用程序负责反复调用解析器获得下一个事件,直到文档结束。

通过保留解析过程的控制权,可以简化调用代码来准确地处理它预期的内容,并且可随时停止解析。

此外,由于该方式没有基于处理程序回调,应用程序也不需要像SAX中那样模拟解析器的状态。

StAX针对同样的XML文档所获得事件类型和SAX基本相同,但是StAX包含了两套处理XML的API:基于指针的API和基于迭代器的API,分别提供了不同程度的抽象[5].基于指针的API简单的返回事件,此时事件用数值形式来表示。

这是一种低层API,没有提供底层XML结构的抽象,所有的状态信息直接从流读取器获得,不需要创建额外的对象。

从而节约内存,拥有较高的效率。

而较为高级的基于迭代器的API则以对象方式返回事件,每个事件对象都封装了它所表示的特定XML结构固有的信息,因此可直接利用其方法获得属于该结构的信息,但也需要额外的对象创建开销。

相对于基于指针的API,基于迭代器的API具有更多的面向对象特征,因此更便于应用于模块化的体系结构。

StAX也是用Java定义的,其StAX1.0于2004年3月发布,并且成为了JSR-173 规范,最新版本为2006年6月发布的StAX1.2.StAX作为用Java语言处理XML的最新标准,比早期出现的XPP (Xml Pull Parser)拉式解析器功能更为强大,也得到了更为广泛的应用。

2.3 面向文档的对象式解析技术由于流式解析方式固有的无法更改数据和不支持随机访问特性,尤其是没有对XML文档的结构建模,使得应用程序很难对XML文档进行搜索、修改、添加和删除等操作。

为了解决这些问题,产生了面向文档的对象式解析技术——DOM.DOM(Document Object Model)是用与平台和语言无关的方式对XML文档进行建模的官方W3C标准[6],其目标是提供一个可以通用于各种程序语言、操作系统和应用程序的接口。

DOM最初被当作Web浏览器识别和处理页面元素的方式,即在W3C介入之前的功能,称为“DOM Level 0”。

W3C于1998年10月提出了“DOM Level 1”建议,支持XML1.0和HTML处理。

随后于2000年11月提出了“DOM Level 2”建议,对Level 1进行了扩展,支持XML1.0、命名空间和CSS,也支持用户接口和树形操作事件,并且添加了DOM树形操作功能。

最新的“DOM Lev el 3”建议于2003年6月提出,在level 2的基础上添加了对DTD、XML模式和XPath的支持[1].DOM作为一种对象式解析技术,定义了层次化对象模型来表示XML文档。

即为XML语法中的每个概念(如元素,属性,实体,文档等)定义对应的类,而解析器在读入XML文档的时候,会建立XML语法和类之间的一一映射。

实际上,DOM 的层次化对象模型是一个树形结构,它将一个XML文档看作一棵节点树,每个节点代表一个XML文档中的元素。

DOM的基本节点对象有5个[1]:(1)Document 对象:是树的最高节点,也是对整个文档操作的入口;(2)Element和Attr对象:对文档中元素和元素属性的映射;(3)Text对象:作为Element和Attr 对象的子节点,代表了元素或属性的文本内容;(4)NodeList对象:对节点按指定的方式进行遍历。

例如对于2.2.1中的XML文档,其对应的DOM节点树如下图所示(注意元素内的空格或回车也会被当作文本对象):图2 DOM节点树(矩形框表示元素节点,椭圆表示文本节点)利用DOM在内存中建立的完整的XML文档的树形结构,开发人员就可以方便的对XML文档进行一系列操作,如遍历、增加、删除、修改文档内容等,且具有良好的导航能力。

同时DOM所具有的对象特性也非常便于面向对象编程。

然而,由于DOM在使用数据前需要完整的遍历XML文档,在内存中构建树形结构表示,因此需要消耗大量的内存,尤其是对于大型文档,性能下降的很快。

而且必须一次解析整个XML文档,不可能只做部分解析,当只关注XML文档的小部分数据时,效率很低。

(Axis2项目中的Axiom对象模型实现了对XML文档的部分解析,可构建不完整的节点树,但实现较为复杂)由于DOM是与语言无关的,当DOM接口进入指定语言的数据结构时,会产生不必要的复杂性,无法利用语言本身的优势。

因此出现了许多与DOM类似的针对特定语言的对象模型。

如JDOM就是针对Java的特定文档对象模型,JDOM使用具体类而不使用接口,简化了API,并在API中大量使用了Java集合类。

DOM4J 则是JDOM的一种智能分支,它提供了对XPath和XML Schema的支持,并且通过DOM4J API和标准DOM接口使其具有并行访问功能[5].它们都属于面向文档的对象式解析技术。

2.4 面向文档的指针式解析技术前面提到的面向文档的流式解析效率较高,但易用性差,而对象式解析易用性强,却效率较低,这两种方式似乎处于两个极端。

相关文档
最新文档