html解析
第!"卷第#期西南师范大学学报(自然科学版)!$$%年"月
&’()!"*’)#+’,-./(’01’,234562738./*’-9/(:.8;5-682<(*/2,-/(1=85.=5)+,.)!$$%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
文章编号:%$$$>?@A%(!$$%)$#>$!??>$?
!"#与$%&数据集成及技术实现
周彦晖,邹显春,张为群
(西南师范大学计算机与信息科学学院,重庆@$$A%?)
!
摘要:由于BCDE缺乏规范的数据表达能力,基于F5G的数据集成往往很困难)要使存在于F5G上的数量巨大的数据易于共享、处理,利用HDE(5H25.68G(5D/-I,JE/.K,/K5)技术可以很好地实现)现有的HDE技术包括HDE解析器、文档对象模型、H1E等都可以很好地应用到各种平台下的F5G应用程序中,从而实现异构数据集成)关
键
词:数据集成;可扩展标注语言;万维网;文档对象模型
文献标识码:/
中图分类号:’()*+;’()**,*)-,.
*$%&数据环境的现状
数据集成就是从大量的数据中将有用的数据针对不同的应用进行整和、封装、处理的过程,以解决数
[%]据的应用质量问题)充分利用有用的数据,废弃虚伪无用的数据,是数据集成技术的最重要的应用)F5G上有海量的数据信息,怎样对这些数据进行复杂的应用成了现今数据库技术的研究热点)
*,*
$%&是异构的数据库环境
从数据库的基本内涵来说,F5G网站上的信息也可以看作一个数据库,一个更大、更复杂的数据库)
一个F5G站点就是一个使用BCDE描述的数据源,不同站点之间的信息和组织都不一样,这就构成了一个巨大的异构数据库环境)如果想要利用这些数据进行数据集成,需要把各站点之间的异构数据统一起来)在现有的F5G环境下,由于数据的异构性,BCDE语言又缺乏对数据模式的描述,所以即使进行数据收集和处理,也将产生很多冗余信息和大量不确切的信息,正如现在的F5G搜索引擎所表现出来的一样)*,+
非结构化的数据模型
F5G上的数据与传统的数据库中的数据不同,传统的数据库都有一定的数据模型,可以根据模型来具体描述特定的数据)而F5G上的数据形式多样,没有特定的模型描述,每一站点的数据都各自独立设计,从而是一种非结构化的数据)F5G数据集成技术首先要解决非结构化数据模型的查询与集成问题,就需要寻找一种非结构化数据模型转化为结构化的数据模型的描述和转化技术,HDE(5H25.68G(5D/-I,JE/.K,/K5)
[!]及一系列标准提供了这种数据模型描述和转化技术)
+!"#简介
以HDE为基础的新一代FFF环境不仅可以很好地兼容原有的F5G应用,而且可以更好地实现F5G中的信息共享与交换)HDE可看作一种结构化的数据模型,可以很容易地将HDE的文档描述与关系数据库中的属性一一对应起来,实施精确地查询与模型抽取)
与BCDE一样,HDE也是网络上的一种通用语言(E8.K,/L-/.=))但是BCDE更像一个易用的阅读显示
收稿日期:!$$%>$!>%!
!
万方数据作者简介:周彦晖(%MA!N),男,重庆市人,助教,硕士研究生)
html解析
卷
器,表现文档的外观和格局是它的强项!"#$则不同,它的产生就是要通过标记来精确地表现信息的各种含义!"#$包含了大量”自我解释”型的标识文本,每个标识文本又由若干规则组成,这些规则可用于创建标识,并能用一种常常称作解析程序(%&’()’)的简明程序处理所有新创建的标识!
(*&+)是没有预先定义的,使用者必须要自定义需要的标志,"#$使用,*,(,-./0123"#$中的标志
来显示这些数据,使用"($(1"312879:1(34:1(;113$<2=/<=1)或>(((><8.<?72=*451,1672737-2文档类型定义)
[B]
来描述这些文档如何显示!使用,@#(,-./0123@9A1.3#-?1:)文档对象模型来处理数据(34:1(;113)!
[C]
,"#$可以从存在的数据中产生出来!使用"#$结构化的数据可以从"#$使用可升级的三层模型
商业规范和表现形式中分离出来!下面是"#$的基本处理过程:
!数据发送由于"#$是开放的、基于文本的格式,它可以通过D**%像D*#$一样传送!(5<E81E)能够读入一串"#$数据,经过处理,产生一棵结构树,并且为,@#!解析"#$"#$解析器
提供数据对象!解析器用>((或"($样式表显示数据,或者用脚本霍应用程序对数据进行进一步的处理!(,@#)处理和编辑数据,@#实际上是一个应用编程接口(&%F),用来定义一种!使用文档对象模型
标准方法!通过这种方法,开发人员能够处理"#$结构树的元素!
!用D*#$显示"#$数据"#$文档自身不能决定如何显示信息,"#$数据只包含事实!可以使用"($来描述"#$文档如何显示,最后把结果呈现在浏览器中!以上过程如图G所示
!
万方数据
html解析
第Y期周彦晖,等:"#$与S7:数据集成及技术实现W,Z
行传递!在这类应用中,"#$解决了数据的统一接口问题!与其他的数据传递标准不同的是,"#$并没有定义数据文件中数据出现的具体规范,而是在数据中附加%&’来表达数据的逻辑结构和含义!这使"#$成为一种程序能自动理解的规范!!"#
使用$%&为相同数据提供不同的显示形式
利用"#$,用户可以方便地进行本地计算和处理!"#$格式的数据发送给客户后,客户可以用应用软件解析数据并对数据进行编辑和处理!使用者可以用不同的方法处理数据,能够使用多种方式显示!"($描述数据的外观,而"#$描述数据本身!由于数据显示与内容分开,"#$定义的数据允许指定不同的显示方式,使数据更合理地表现出来!!"!
分布式计算应用
在传统的”)*(”或“+*(”工作方式中,客户向服务器发出不同的请求,服务器分别予以响应,这不仅加重服务器本身的负荷,而且网络管理者还须事先调查各种不同的用户需求以做出相应不同的程序,但假如用户的需求繁杂而多变,服务器端的编程人员可能来不及满足众多的应用需求,也来不及跟上需求的变化!"#$应用于将大量运算负荷分布在客户端,即客户可根据自己的需求选择和制作不同的应用程
[,]
序以处理数据,而服务器只需发出同一个"#$文件!服务器所作的只是尽可能完善、准确地将数据封装进"#$文件中,数据变化时只需要修改相应的"#$文件!"#$的自解释性使客户端在收到数据的同时也理解数据的逻辑结构与含义,从而使广泛、通用的分布式计算成为可能!!"’
利用代理进行信息裁减
"#$还被应用于网络代理,以便对所取得的信息进行编辑、增减以适应不同用户的需要!有些客户取得数据并不是为了直接使用而是为了根据需要组织自己的数据库!例如,教育部门要建立一个庞大的题库,考试时将题库中的题目取出若干组成试卷,再将试卷封装进"#$文件,各个学校代理应用程序去掉所有的答案,再发送到各个考生面前,包括答案的内容则可直接送到教师手中,此外,"#$文件中还可以包含进诸如难度系数、往年错误率等其他相关信息,这样只需几个小程序,同一个"#$文件便可变成多个文件传送到不同的用户手中!
’$%&的技术实现
从"#$文件中获得信息最好的办法是利用"#$解析器!#-./01023提供了支持40.567839:;7.3#0<7=(49#)的解析器!49#描述了一系列标准的访问"#$和>%#$文档的方法,把"#$中的数据变成一系
[?]
列对象,这样就可以对这些对象二次编程!下面介绍如何利用#-./01023解析器#1@6=A<==实现的49#结构访问和维护"#$文档!
下面这个文件名为.<1A@6=的文档用来表示一个唱片的各个项目,每个项目包含象主唱,标题,音轨这样的信息!
?GB?@6=C7/1-08D“EAF”
“.<1A<3<”GB!49)%HIJ.06KL.3<-1.1(H(%J#B.06KL.3<-1.1G
B.06KL.3<-1.G
BL/3-133MK7D“-8<-C-<5L=”GN/L8O(-8L3/LB*L/3-13GB3-3=7856:7/023/L.O1D“P”GQ8%R7S77(6L==
>05/1B*3-3=7G
B3/L.O1G
……
B*.06KL.3<-1.1GB*3/L.OG
B*3/L.O1G
BK/-.7GVEWAXXB*K/-.7G
B*.06KL.3<-1.G
B3/L.OGQ8%R7S77(6L==>05/1B*3/L.OGB3/L.OGQ’73&=08TS-3R053H05U7/MS7==
’"(
)*%简介
"#$49#结构将"#$文档的内容实现为一个对象模型!SY)的49#$7C7=E说明定义了49#结构如
[Z]
何实现属性、方法、事件等等!微软的49#实现完全支持SY)标准,并且还有许多使程序更容易访问"#$文件的新增特点!
要使用49#,需要创建一个"#$解析器的实例!#1@6=A<==中包含了类型库和可应用的代码,这些可
万方数据
以用来处理"#$文件!如果你使用可实现脚本的客户端,比如U+(./-K3和QJ,你可以使用)/7L379:;7.3方
html解析
ALV
法来得到解析器的实例!
西南师范大学学报(自然科学版)第A<卷
)"#$%&’()*+#*,-*#)$#.&’#/$(“01/*%+%2$34056.0”
如果你使用7"((7/$18#"#*8#*()9#),你使用"#*8#*3-*#)$#.&’#/$方法!
"#$%&’()*+#*,"#*8#*3-*#)$#.&’#/$(“01/*%+%2$34056.0”)
如果你在使用:;,你可以创建一个对0"405类型库的引用,这样就可以访问6.0!要在:;<3=中使用0"405,操作如下:
>3打开(*%’#/$?#2#*#@/#+项
A3从-.0对象中选择01/*%+%2$405,8#*+1%@A3=,如果你找不到此项,你需要得到它!B3你可以创建一个解析器的实例了!
61CD6%/7+0"40536.06%/EC#@$"#$D6%/,F#G0"40536.06%/EC#@$你可以通过两个途径获得0+DCH3IHH!
>3你可以安装JKL3=,0"405解析器是其中集成的部件!A3或者你可以到相关网站上下载它
一旦你建立了类型库的引用,你就可以执行解析,调入文档,总之,你可以处理405文档了!!"#
读入$%&文档
要调入一个405文档,先必须创建一个6.06%/EC#@$的实例!
61CD6%/7+0"40536.06%/EC#@$
"#$D6%/,F#G0"40536.06%/EC#@$
当你获得一个合法的引用,你就可以用5.76方法来调入一个文档!可以从本地硬盘或者通过MF-和M?5从网络上调入405文档!
从硬盘调入如下:
)PQ#@J2D6%/35%)I(“-:N0O6%/EC#@$+N/I+3DCH”
’文档调入成功’I%+%C#$Q1@9KH+#
’文档调入失败
K@IJ2
0"405解析器实现了一些有用的方法,你在调入一个大的文档时可以用这些方法追踪调入过程的状态!这些方法对从J@$#*@#$上异步的调入文档也很有帮助!要打开一个J@$#*@#$上的文档,你需要提供绝对M?5,并且必须加Q$$R:SS前缀!下面是一个例子!
D6%/3)+O@/,T)H+#
)PQ#@J2D6%/35%)I(“Q$$R:SSGGG3I#8#H%R3/%CSDQS/I+3DCH”
’文档调入成功’I%+%C#$Q1@9KH+#
’文档调入失败
K@IJ2
!"’从$%&文档中取得信息
一旦成功地调入了文档,下一步就是如何从中获得信息了!当操作文档时,经常会用到J405U6.0F%I#界面,你利用它来读S写各个分离的节点元素!在以下的程序清单中,5%)I6%/EC#@$程序打开405文档,然后调用另一个程序61+RH)OF%I#,它用来显示文档的结构!5%)I6%/EC#@$传递给正在打开的405文档的-Q1HIF%I#+属性一个引用作为它的参数,同时传递一个整数用来标示开始显示的层次级别!
万方数据()(E&H1/"E&5%)I6%/EC#@$61CD6%/7+0"40536.06%/EC#@$
html解析
第V期周彦晖,等:,+-与Q"G数据集成及技术实现
%61$)&7"J:+!,+-.<,+-%/+)&7"<27"2#(<27"2#MN;&9F4’C$)&7"<2)&7":
<=$)&7".2&7"B@A"()/%FKBF,BBC"2%"G0D.8962#!A4’"O(<27"2#)PK
:”P$)&7".2&7"L450"$)&7".A49"2#)&7".2&7")41"P”
F27<=
<=$)&7".C4:>C657)&7":BC"2%6:A54@)&7"$)&7".’C657)&7":,<27"2#F27<=)"$#$)&7"F27!0G
NWT
!"#$%&’()"*+!,+-.%/+%&’01"2#$%&’.345674#"/2849:"(;45:"
)BC"2<=$%&’.-&47(“>:?+@%&’01"2#:?:41A5".$15”’BC"7&’01"2#5&47"7:0’’"::=055@.’)&*7&:&1"#C62D62#"9:#62D.%6:A54@)&7"$%&’.’C657)&7":,EF5:"
’BC"7&’01"2#=465"7#&5&47.
’!""#C"A9"36&0:56:#62D=&9"99&962=&914#6&2.F27<=F27!0G
80G56’!0G%6:A54@)&7"(H@I"=)&7":J:K+!,+-.<,+-%/+)&7"-6:#)H@L45<27"2#J:<2#"D"9)
!结束语
面向Q"G的数据集成是一项复杂的技术,由于,+-能够使不同来源的结构化的数据很容易地结合在
一起,从而为解决Q"G数据集成难题带来了希望R,+-为组织、软件开发者、Q"G站点和终端使用者提
供了许多有利条件R相信在以后,随着,+-作为在Q"G上交换数据的一种标准方式的出现,面向Q"G的数据集成将会得到广泛的应用R参考文献:
[S]B"784##6&2.!"#$"%&&’($)’*+"’,-+./011’2%+’#(*[+].Q4:C62D#&2:+6’9&:&=#89"::,STTURVWR[N]QV>标准化组织.,+-S.E标准[FHX/-].C##A:XX***.*V’.&9DX$15X,NEEEYESYESR[V]Z4["!#091R).3.4#1’($5678#4-+’#(*[+]RQ4:C62D#&2:+6’9&:&=#89"::,NEEERNVR
[\]Z&C2!*"2:&2R,+-:一种在网络中传递数据的更好方法[FHX/-]RC##A:XX+:72+6’9&:&=#R’&1X,NEEEYE]YS^R[W]+6’C4"5F7*497:R,+-:%4#4#C"Q4@_&0Q42#<#[FHX/-]RC##A:XX+:72+6’9&:&=#R’&1X,NEEEYE]YS^R[^]Q655641Z,84976R,+-<2J’96&2[+]R;&:#"9>6#@,>456=&9264:<%‘H&&[:Q&957Q67",<2’,STTTR]UR[]]QV>标准化组织R%/+标准[FHX&-]RC##A:XX***R*V’R&9DX$15X,NEEERYE^YESR
"#$%&’()*+,%-)’.%/%0&/)12%/34&
ab/c_42KC06,a/c,642K’C02,abJ)‘Q"6Kd02
(!"##$#%&#’()*+,-./%#,’0*1#/!#)*"2+3*&"1/04#,’0$5/16+,31*7,&"#/891/8\EE]SW,&"1/0)
5*-/2%6/:BC"Q"GKG4:"774#462#"D94#6&26:76==6’05#G"’40:"#C"bB+-6:54’[62D&=026=&9174#4"$A9"::62D4G656#@RBC"G"##"9*4@#C4#’42:C49"427A9&’"::#C"D9"4#’4A4’6#@&=74#4&2#C"Q"G6:,+-#"’C2&5&D@RBC",+-#"’C2&5&D@62’50762D,+-A49:"9,%/+427,!-A9&367":="4#09":#C4#’42G"0:"7#&7"3"5&A3496&0:Q"GKG4:"74AA56’4#6&2&2105#6YA54#=&91#&4’C6"3"Q"GYG4:"774#462#"D94#6&2R
7)8942’-:74#462#"D94#6&2;"$#"2:6G5"149[0A542D04D";Q"G;7&’01"2#&Ge"’#1&7"5
责任编辑
覃吉康
万方数据
html解析
XML与Web数据集成及技术实现
作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:
周彦晖, 邹显春, 张为群, ZHOU Yan-Hui, ZOU Xian-Chun, ZHANG Wei-Qun西南师范大学计算机与信息科学学院,
西南师范大学学报(自然科学版)
JOURNAL OF SOUTHWEST CHINA NORMAL UNIVERSITY2001,26(3)20次
参考文献(7条)
1.W3C标准化组织 DOM 标准 2000
2.William J;Pardi XML In Acrion . Foster City 19993.Michael Edwards XML: Data the Way You Want It 20004.John Swenson XML:一种在网络中传递数据的更好方法 20005.Jake Sturm Developing XML Solutions 20006.W3C标准化组织. XML 1.0标准 2000
7.Ted Pattion Programming Distributed Appications 1998
引证文献(21条)
1.沈奎林.宋兰安.杜瑾 数字图书馆信息集成平台的研究与实现[期刊论文]-兰州交通大学学报 2010(6)2.么炜.王雷.陈永峰.程洪 基于WebGIS的有线电视网络监控系统的研究与实现[期刊论文]-中国市场 2009(1)3.袁雪莉.丁晓明.彭中莲 基于扩展WSDL的测试用例自动生成[期刊论文]-西南师范大学学报(自然科学版) 2009(2)4.田芳 浅谈高校图书馆数字资源的整合[期刊论文]-黑河学刊 2009(3)
5.张佐帮.尚颖娟 基于ArcXML和HTML Viewer的人口信息发布[期刊论文]-西南师范大学学报(自然科学版)2009(1)
6.陈永峰 基于WebGIS的有线电视网络监控系统的研究[期刊论文]-河北软件职业技术学院学报 2009(1)7.席景科.闫大顺 Web数据挖掘中数据集成问题的研究[期刊论文]-计算机工程与设计 2006(8)
8.赵赛.陈松乔.邓莎莎 基于规则树的Web数据集成包装器的设计与实现[期刊论文]-计算机技术与发展 2006(6)9.任芳 基于XML的数据挖掘结果模式存储方法研究[学位论文]硕士 2006
10.田友强 基于J2EE和XML的海洋数据集成系统原型设计与实现[学位论文]硕士 200511.韩钢山 辽河油田钻采院信息资源集成规划研究[学位论文]硕士 200512.李进 制造资源统一管理平台的研究及实现[学位论文]硕士 200513.宿世明 网上文献信息挖掘整合[期刊论文]-情报杂志 2004(4)
14.季淑娟.王瑜.张迎芳 数字化信息资源的整合与信息挖掘[期刊论文]-冶金信息导刊 2004(3)15.覃启华 基于Java和XML的工作流表单生成器[学位论文]硕士 200416.张道杰 一个网络服务应用集成模型[学位论文]硕士 2004
17.邵刚 基于XML的web挖掘技术及在特色数据库建设中的应用[期刊论文]-现代远距离教育 2003(2)18.黄晓斌 论网络文献的信息集成[期刊论文]-图书情报工作 2003(1)
19.赵刚.马万太.高芳.周燕飞 基于Extranet和XML的面向供应链的智能采购管理系统[期刊论文]-计算机应用研究2003(7)
20.赵刚.马万太.高芳.周燕飞 基于Extranet和XML的B/S结构智能供应链管理集成框架研究[期刊论文]-计算机应用研究 2003(4)
21.沈奎林.宋兰安.杜瑾 数字图书馆信息集成平台的研究与实现[期刊论文]-兰州交通大学学报 2010(6)
html解析
本文链接:http:///Periodical_xnsfdxxb200103005.aspx