当前位置:首页 > 通信技术 > 通信技术
[导读]摘要:随着Web技术的发展,越来越多的信息需要通过异步Web传输来获取,提出一种基于Msxml2的异步信息搜索方法,通过采集Web侦听页,分析XML信息结构,达到信息传送的目的。 关键词:Msxml2;request;ActiveXObject

摘要:随着Web技术的发展,越来越多的信息需要通过异步Web传输来获取,提出一种基于Msxml2的异步信息搜索方法,通过采集Web侦听页,分析XML信息结构,达到信息传送的目的。
关键词:Msxml2;request;ActiveXObject;侦听页


1 引言
    XmlHttp2.0提供客户端同http服务器异步通讯协议,客户端可通过Msxml2对象向Web服务器发送请求并使用文档对象模型DOM处理同应,且所有通讯都可在后台进行,扩展了Web的信息处理能力。


2 Msxml2对象特色技术
    Msxml2(或XmlHttp)对象属于ActiveX,使用Msxml2.XmlHttp方式创建,可注册一个函数给XmlHttp对象的on-readystatechange方法,该对象的open方法可发出Http请求,对象的Send方法可自动调用所注册的函数。
2.1 使用XmlHttp抓取目标地址的Web页面
    页面分析的GetBody函数通过XmlHttp组件可后台获取目标地址Web页的内容,这种方式获得的Web页面结构可被应用系统后台分析。
2.2 字符转换
    后台获取的Web数据往往有乱码现象,可以使用Adodb.Stream对其进行二进制处理,SaveToFile(FileName)方法可将数据存入文件;Object.LoadFromFile(FileName)方法可以从文件中读取数据;Object.Write(Data,[Options])将指定的文本数据装入对象中;Object.ReadText(NumChars)读取指定长度的文本及参数说明:NumChars指定要读取的字符串长度,未指定则读取全部数据。
2.3 后台页面保存
    后台网页的内容可以作为Msxml2.XmlHttp对象的Re-sponse属性返回,意味着可以使用FileSystem对象将页面的内容保存到文件中,例如:


    保存后文档的格式可能与网页的格式不同,这取决于所使用样式表的格式。多数情况下,即使格式有点缺漏,页面也可按文本方式读取。
2.4 跨域访问
    跨域访问就是A网站的JavaScript代码试图访问B网站,包括提交内容和获取内容。由于安全原因,直接跨域访问是被浏览器所禁止的,可以使用StreamReader对象后台获取。

   


3 XML信息控制
    IE客户端可通过JavaSeript命令将XML命令控制文件通过后台发送给Web侦听页,并获得信息反馈。逻辑过程是:(JS)应用->侦听页->ActiveX控件,ActiveX控件->侦听页->客户端(JS)接收,如图1所示。

    IE客户端发出“XML命令”的JavaScript命令典型过程:


    在IE客户端,可以不用XML格式命令而使用普通文件构造指令,但使用XML格式容易解析指令及其参数,例如“Open”函数的“Xml_receive.asp”网页被称为侦听页;第3个参数决定是否异步执行;还可以再加上用户名和口令两个参数,此时要求进行同步查询,即IE窗口在完成查询前只进行等待。
3.1 侦听页基本功能
    IE客户页面提交查询时,通过“侦听页”发出XML格式指令。由XmlHttp向WWW服务器请求交互,Web服务器即解释该命令,并调用相应ActiveX控件,以XML字符串形式将查询结果返回给IE端用户。侦听页执行的基本过程:
    (1)将查询请求加载到XML DOM,并对指令及其参数进行解析。支持Java,Script的所有浏览器都支持文档对象模型(DOM)。DOM涉及W3C标准文档的对象模型,以树形结构表示HTML和XML文档,可以定义遍历、检查和修改树节点的方法和属性,如图2所示。使用DOM技术可以解析XML文件中的查询指令和参数(parameter),可以有多个参数。
    (2)根据客户要求,调用Active X控件的处理方法,执行结果用XML字符串表示。创建Active X对象并调用预定的GetTitlesXML()方法,返回Pubs数据库的查询结果,结果用XML字符串方式返回。
    (3)将返回结果加载到XML DOM并用Response对象返回给IE用户。Response对象可将结果反馈给IE用户。具体方法是使用XML DOM的Save方法返回结果。例如,下面的程序片段中,反馈信息为XML串:resuhsXML,它通过Response对象设置输出流格式。


3.2 XML信息接收
    IE客户端一旦接收到返回结果,就将其加载到XMLDOM,并使用XML解析方式分析信息,以获得相应的信息。先将XmlHttp的ResponseXML信息加载到XML DOM对象中。如果出错,可以分析“侦听页”返回的出错信息;如果正确,DOM里就有查询结果,并可通过分析该XML文档求得信息结果。另外XmlHttp还有responseText方法用于加载普通文件,但推荐使用XML文件格式。
3.3 XML_SQL查询
    对于预定的性能函数GetTitlesXML(),可以结合SQL命令加强功能,进行数据库操作。例如,根据书籍的类型、价格和销售日期等信息,由Form表单的信息组成SQL条件字句,在IE客户端查询书籍的代码如下:

4 结语
    总结了使用Msxml构件在客户端和后台Web服务器之间建立通讯联系的基本环节的实现方法,给出用户需要的ActiveX控件的部分方法和属性。Msxml提高得整个Web应用系统的自制性能,这为进一步实现胖B/S应用奠定了技术基础。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭