2、可扩展就是说里面的标签可以自己造。不再局限于别人规定好的标签名字、属性名字,而是可以自己起名字。
3、没错,理论上html能做到的,xml都能做到。可是没人这么做。而且也不推荐你在该使用html的地方使用xml。理由是当前浏览器的支持原因。
xml的作用是用来表现数据之间的结构关系。这种结构关系是非常重要的。
xml为程序员提供了一种更通用、更有条理来储存、访问、修改数据的方法。
这种通用性体现在各种语言对xml的支持都是一致的。
这种条理性体现在他成对的标签与标签之间形成的层次关系。
在普通的浏览器中浏览xml,基本上都是出现该xml的内容列表。
但这仅仅是在浏览器中的表现情况。
在其他的应用程序中,如:rss阅读器、天气预报小插件等,它们对相应的xml的解释就不一样。
要注意,不同的应用程序所需要的xml的标签格式基本是不会完全一样的
比如rss阅读器和天气预报小插件他们所需要的标签名、属性名、标签之间的层次关系都是不一样的。
现在xml使用广泛是因为它既对程序友好(程序能很方便的生成、提取出里面的数据),也对人类友好(人类可以很方便的手写出xml)。但是冗余信息多,占用体积大也是其弊端。
在没有xml的日子里,程序员想进行进程间数据传递,必须自己设计传输接口,里面牵涉到很多烦人的数据格式等问题,使得程序员不能专注于具体业务的解决。如今xml和各种语言对xml的支持包,把程序员解脱出来了。只看问题本身无法知道 Clown_Wang_ 是想在怎样的环境下避免程序与数据库的交互内容被抓包。可能的情况1:需要实现小规模的Aspnet之类的B/S应用,将数据库和IIS服务器部署在同一台服务器上,开发时数据库使用localhost方式访问,关闭Oracle之类数据库对外的防火墙,即可保证程序访问数据库的相关 *** 作不会被抓包程序获取到数据内容。至于网页对外显示的数据,那已经是经程序处理过之后,需要显示在浏览器上的内容了;可能的情况2:有程序需要访问远程的数据库,访问请求和数据均使用网络传递,此时无法避免数据包被其它监听网络的程序捕获。建议考虑使用对称密钥加密的方式处理交互用的数据包,如条件允许,使用现有的成熟技术直接包装数据包为首选方案,如或>多用trace语句啊
_rootmap_mcbzmap_mc("road_txt"+i)text = childItems[0]childNodes[0]childNodes[0]nodeValue;
后面跟2句:
trace(_rootmap_mcbzmap_mc("road_txt"+i)text);
trace(childItems[0]childNodes[0]childNodes[0]nodeValue);
CTRL+ENTER 输出窗口看那两个是不是你期待的值XML是被设计用来存储数据、携带数据和交换数据的。
通过XML,可以在不兼容的系统之间交换数据,利用XML,纯文本文件可以用来存储数据。在不使用XML时,HTML用于显示数据,数据必须存储在HTML文件之内。
XML不是为了显示数据而设计的,主要是用于交换数据,可以从HTML中分离数据,也可以用于存储数据,大量的数据可以存储到XML文件中或者数据库中,应用程序可以读写和存储数据,一般的程序可以显示数据。
通过XML可以在HTML文件之外存储数据使用,也可以充分利用数据,可以用于创建新的语言XML是WAP和WML语言的母亲。如果开发者有足够的预见性,那么将来的应用程序都应该使用XML的形式来存储数据。你先要知道xml是什么。
懂html的话xml会很好理解,前者的标签(元素和属性)是规定好的,后者(xml)的标签是可以自定义的,你想怎么用就怎么用。
例子:
<books>
<book>
<name>书名</name>
<pubdate>发行日期</pubdate>
</book>
<book>
</book>
</books>
你可以把数据记录在xml文件里,其实它就是一堆字符串,只是比较优雅的展示而已。
杜富殿
(海南省国土环境资源信息中心,海口,570206)
摘要:数据交换存在于“金土工程”相关的系统、数据、上下级信息传递中,以 XML 作为基础的数据交换形式,可以解决数据交换的安全性、可靠性、灵活性和开放性,为“金土工程”提供简捷和高效率的数据交换方式。
关键词:“金土工程”;XML;数据交换;数据总线
“金土工程”是国土资源信息大厦的框架工程,数据将是该工程的核心内容之一,由于“金土工程”所牵涉的数据内容、数据类型和数据格式等方面的异构问题,数据交换必然是“金土工程”中不可或缺的组成部分。以 XML 为技术基础的数据总线方式,将为“金土工程”各系统、数据、上下级,甚至系统和数据内部的交换提供松散耦合、明码、界线明晰的可扩充性、易维护性、开放性和统一性的数据交换平台。
1 “金土工程” 的数据交换体系
“金土工程”将采用面向服务的技术构架及电子政务平台思想,强调技术的实用性、通用性、可靠性、安全性,保障系统的可扩充性、易维护性、开放性和统一性。
在数据资源建设方面,采用主流 GIS 平台、面向对象型数据库等技术,按照统一标准建设与整合各类数据库,通过集中与分布式管理相结合、多级备份和相对独立的数据管理机制实现数据的统一管理与维护。
在应用系统建设方面,统筹规划,通过电子政务平台搭建国土资源业务应用系统。
无论在数据资源和应用系统的内部或之间都必须进行数据交换,形成数据交换体系。数据交换体系包括面向基础数据库同步与备份的交换系统、面向各级业务信息传递的交换系统、面向外部数据共享的交换系统,甚至面向系统内部模块间的数据交换。
面向基础数据库同步与备份的交换系统,主要实现将下级数据库的更新及时地、自动地同步更新到上级数据库。
面向各级业务信息传递的交换系统,主要是用来实现垂直业务系统上下业务流程间的业务数据交换、统计数据上报、材料上报或下发等。
面向外部数据共享的交换系统,主要实现国土资源系统与外部门间基础数据有关业务数据的交换。
面向系统内部模块间的数据交换,主要实现模块之间数据计算、处理等过程中数据的交换。
数据交换体系必须解决数据交换的安全性、可靠性、灵活性和开放性,采用 XML 技术作为“金土工程”数据交换体系的基础是一种较佳的选择。
2 XML 的发展和特点
21 XML 的发展
到目前为止,采用 HTML 编写的 Web 页面占相当比例。HTML 简单易学又通用,句法简明紧凑,加上其扩充的表格、帧、脚本等功能,使得它在 Web 主页上大显身手。但是随着 Web 应用的越来越广泛,HTML 过于简单的弱点也越来越明显了。
(1)链路丢失后不能自动纠正 由于许多页面的 URL 地址经常变化,浏览这些页面时就会遇到烦人的404 URL 地址未找到的信息。不得不手工一个个地更改链接相关页面的 URL地址,这大大加重了 Web 页面的维护工作量。
(2)动态内容需要下载的部件太多 用 HTML 建立的页面目前还不能对其页面的外观属性,例如色彩、字体、背景等实现更新,只能重新下载一个新的页面或 Java 部件。但 Java保存的数据搜索引擎是无法访问的,所以在 HTML 页面中使用 Java 来显示动态内容也不是灵丹妙药。
(3)搜索时间长 由于 HTML 页面没有类似于数据库的结构,在这样的文档资料中搜索目标时需要对全部页面的所有内容扫描,往往检索出一大堆与主题词无关的内容,这是因为HTML 无法区分信息与元信息而造成的。而且 HTML 不支持信息嵌套体系结构,因而限制了全文检索功能。
(4) HTML 缺乏对双字节或多国文字的支持,或者说支持不够。例如中文信息页面在不同的平台下会出现格式不齐等问题。
(5)HTML 可扩展性差 科学家无法用 HTML 书写数学公式、化学方程式以及分子晶体结构。
为解决这些缺点,可扩展标记语言——Extensible Markup Language,简称XML应运而生。
1998年2月万维网协会(W3C)发布了XML10 标准,XML是一种元标注语言,该语言提供一种描述结构数据的格式,是W3 C 定义的用于优化Web 上的传输的SGML (通用标记语言标准 ISO8879:1986)的子集,XML 确保结构数据是一致的并独立于应用程序或供应商,可编码各种情况(从简单至复杂)的内容,是语义和架构的数据标准。
22 XML 的特点
XML 自从出现以来,以其标准化、接口协议、简化和封装等优点,被誉为信息标准化过程的有力工具,基于 XML 的标准将成为以后信息标准的主流。
221 标准化
与其他服务技术相比,标准化是 XML 特色之一。XML 提供了系统之间传输数据的标准格式。万维网联盟(W3C)管理 XML 标准并发布给全球的 XML 技术提供者,这就确保了 XML 产品的兼容性。除了 XML 引擎和产品外还有 XML 文法(grammar)。每一个XML语法都是一种在某个特定问题领域进行数据格式化的标准方法,遵循并采用 XML 文法,任何人都可以使两个应用系统间通信的数据格式标准化。
222 接口协议
在对接口进行编程时经常将它称之为协议。从编程的角度出发,接口在没有暴露实现的情况下提供了编程结构。如果使用 DTD (文件类型定义)和大纲(schema),那么XML 就有类似的特性。DTD 和大纲都用来描述 XML 文档的结构以及 XML 文档的建立规则,可以用一个(或者多个)相关 DTD (或者大纲)组织这样的规则集合,称之为 XML文法。
XML 文法不仅可以用于应用程序之间通信的标准化,还可以为开发者提供一个接口协议。换句话说,开发者在创建一个需要使用 XML 文档结构的应用程序时,不需要知道文档是如何实现的(即实际的 XML 文档)。DTD 以及大纲描述了文档的结构,可以作为开发的接口协议,对 DTD 的任何改动同时也改变了协议。
223 简化
XML 文档的另一个重要方面就是它的简化特性,而是说 XML 的概念和一般方法简单。例如,XML 是基于文本文档的,这就简化了打开 XML文档并查看其内容的过程。
用 XML 简化 Web 服务模型很方便,这一点也很重要。Web 服务天然就比单独的XML要复杂。假设 XML和CORBA同样复杂,而且其他Web服务技术的复杂度相同,那么Web服务技术就会变得非常笨重。但是通过使用简单的搭积木的方法,如XML、SOAP等等,可以控制 Web 服务的复杂度在一个可以容忍的范围之内,这样用它创建的应用程序不至于难以控制。
224 封装
封装是XML特性之一,在开发Web服务的时候尤其如此。从本质上来说,封装指的是获得一个或者多个数据块(chunks of data)并把它们集合成一个简单对象(而不是几个独立对象)的概念。封装与集合(aggregation)类似,但是它们之间有一个重要的差别,即封装一般意味着它没有外部依赖性。
可以创建带有外部依赖性的 XML 文档,但是在事务 Web 服务模型(transactional Webservices model)中,利用封装会显得更加明智。通过设计包装了依赖性的 XML 解决方案,一般都可以消除事务处理过程中的问题。尤其是在外部数据常常发生变动的情况下,强迫在事务处理中定位外部数据并使其与 XML 数据一致的方法是有害的。如果把数据封装到XML文法中去,就交易获得正确的数据。
3 XML 数据总线应用分析
31 XML 为 “金土工程” 的数据交换搭建总线
“金土工程”的各系统和层次之间的数据交换通过开放的 XML 数据总线技术实现,XML数据总线由四部分的内容组成:发布、集成、分布和自动化,如下图所示。
XML 数据总线图
发布数据总线是将同一数据内容在客户端根据不同的用户需求进行不同形式展现的数据交换。通过数据总线方式将数据显示与内容分开,XML 定义的数据允许指定不同的显示方式,使数据更合理地表现出来。XML 补充了 HTML,逐渐被广泛地用来描述用户界面,形成了 HTML 描述数据的外观,而 XML 描述数据本身。
本地的数据能够以客户配置、使用者选择或其他标准决定的方式动态地表现出来,CSS和 XSL 为数据的显示提供了公布的机制。通过 XML,数据可以粒状地更新。每当一部分数据变化后,不需要重发整个结构化的数据。变化的元素必须从服务器发送给客户,变化的数据不需要刷新整个使用者的界面就能够显示出来。改变了 HTML 方式,只要一条数据变化了,整一页都必须重建,这严重限制了服务器的性能。
另外,通过 XML 总线方式发布的数据还允许加进其他数据,加入的数据能够进入存在的页面,不需要浏览器重新发一个新的页面。
集成数据总线是系统之间的两个或更多异质数据库之间进行数据交换。
系统之间与这些有各自不同的复杂格式的数据库间通过 XML 标准语言进行交互,这是由于 XML 的自定义性及可扩展性,使其足以表达各种类型的数据。系统收到数据后可以进行处理,也可以在不同数据库间进行传递。XML 解决了数据交换的统一接口问题。
XML 给系统赋予了强大的功能和灵活性。比如进行更有意义的搜索,并且数据被XML 唯一地标识。没有 XML,搜索工具必须了解每个数据库是如何构建的,但这实际上是不可能的,因为每个数据库描述数据的格式几乎都是不同的。由于不同来源数据的集成问题的存在,现在搜索多样的不兼容的数据库实际上是不可能的。通过 XML 数据总线的方式能够使不同来源的结构化的数据很容易地集成在一起,可以在中间层的服务器上对从后端数据库和其他系统来的数据进行集成,然后,数据就能被发送到客户或其他服务器做进一步的集合、处理和分发,达到数据库之间的数据交换。
分布数据是通过数据总线方式将大部分处理负载从服务器发布转到客户端的数据交换方式。
客户可根据自己的需求选择和制作不同的应用系统以处理数据,而服务器只需发出同一个XML文件。如按传统的“Client/Server”工作方式,客户向服务器发出不同的请求,服务器分别予以响应,这不仅加重了服务器本身的负荷,而且网络管理者还须事先调查各种不同的用户需求以做出相应不同的程序,但假如用户的需求繁杂而多变,则仍然将所有业务逻辑集中在服务器端是不合适的,因为服务器端的服务系统可能来不及满足众多的应用需求,也来不及跟上需求的变化,双方都很被动。应用 XML 数据总线的方式则将处理数据的主动权交给了客户,服务器所作的只是尽可能完善、准确地将数据封装进 XML 文件通过总线方式进行交换,形成各取所需、各司其职。利用了 XML 的自解释性使客户端在收到数据的同时也理解数据的逻辑结构与含义,从而扩展了广泛、通用的分布式计算方式。
自动化数据总线是遵循共同的数据交换标准,使得应用程序具有一定的自动处理能力,以便实现对所取得的信息进行编辑、增减以适应用户的需要,从而提高工作效率的方式。开发一个典型的国土资源管理应用智能代理程序的步骤如下:①该程序向下一级国土资源管理部门的数据交换系统发出一个数据更新的请求,在得到应答后,自动连接答复中提供的所有所在级国土资源部门的站点;②搜索预定数据的信息,并对获取到的不同站点针对该内容的信息按一定的规则进行比较;③得出所需要的结果,并自动向所在站点的国土资源管理部门发数据更新的通知。
32 XML 数据总线的特点
321 数据交换的安全性
在数据交换中心的设计中采用了 XML 文档作为数据交换的媒体。对于文档的加密现在有非常成熟的方法,所以可对 XML 文档整篇加密,并经过数字签名认证后安全地发送给一个或多个接收方,数据接收方接收到 XML 数据文档后经过解密即可使用。
322 系统的可靠性
在数据交换中心的设计方案中,考虑整个数据交换中心作为一个独立的应用服务组件存在于国土资源管理部门的信息系统环境中,而不依赖于任何独立的信息系统,则系统不会受到信息系统意外崩溃的影响。
交换中心与数据库脱离,即在正常情况下数据交换中心不与任何信息系统或其他专业系统的数据库进行互 *** 作,所有的数据处理都经由数据的拥有者和请求者进行处理。这种设计方式既保证了各系统的独立性和安全性,又保证了系统之间的交互性。
数据交换中心存在于应用服务器环境中,可以利用应用服务器环境提供的动态负载均衡和失败恢复功能,保证数据交换中心长期可靠的运行。
323 系统的灵活性
数据交换中心提供基于消息的数据交换方式和由数据交换中心直接进行数据读写两种数据交换方式,以适应各种系统环境。
基于消息的数据交换方式是数据交换中心的首选方式,在该方式下数据交换中心与支持消息机制方式的系统进行异步数据交换。数据交换的发起方向数据交换中心提交 XML形式的消息后继续执行其他任务,直到从数据交换中心收到数据交换完成的消息后,再对要求的数据进行处理。在基于消息的数据交换方式下,数据交换中心对消息进行全程管理,保证消息的接收顺序及数据的正确性。
数据交换中心还提供由数据交换中心直接进行数据读取的数据交换方式,在此方式下,数据交换中心主要与被动提供数据的系统进行交互,那些系统只需要提供数据而不会要求数据,同时系统的构成相对简单。
324 系统的开放性
数据交换中心对外提供消息控制 API 和数据转换协议定制工具,使得任何系统只要通过数据转换协议定制工具往数据交换中心中添加数据转换协议,就可以使用数据交换中心提供的消息控制 API 与数据交换中心进行数据交换。
由于 XML 标准具有可扩展性,并且有很强的自描述功能改进了传统的数据表示方法,不仅非常适于数据交换与信息发布,而且将日益成为显示、索引等的基础。现在的数据库基本都已提供了 XML 转换工具,因此 XML 文档非常适合用作跨系统、跨平台的“金土工程”中数据交换,随着 XML 作为在交换数据的一种标准方式的出现,基于 XML基础的应用将会更简捷和拥有更高的效率。
参考文献
[1]国土资源部国土资厅发[2004]23 号关于印发《全国金土工程建设总体方案》的通知2006
[2]Won Kim,Ki-Joon Chae“Component-Based Knowledge Engineering Architecture”JOOP,1999
[3]Ritter,DThe Missing Link for D2B E-CommerceIntelligent Enterprise,1999
[4]高波,王琰,Ben ChangOracle,XML 开发手册,北京:机械工业出版社,2001
[5]XML 中国论坛“XML 实用进阶教程”北京:清华大学出版社,2001
[6]王仲,陈晓鸥基于 XML 的数据交换与存取技术研究计算机工程与应用,2001
[7 ]徐天昕,金烨,李柳玲基于XML的对称式Web-EDI 系统的设计与实现,计算机集成制造系统-CIMS,2001
[8]何蓉,方旭明基于 XML 的电子商务定单处理管道设计计算机应用,2002
XML是被设计用来存储数据、携带数据和交换数据的。通过XML,可以在不兼容的系统之间交换数据,利用XML,纯文本文件可以用来存储数据。在不使用XML时,HTML用于显示数据,数据必须存储在HTML文件之内。
XML不是为了显示数据而设计的,主要是用于交换数据,可以从HTML中分离数据,也可以用于存储数据,大量的数据可以存储到XML文件中或者数据库中,应用程序可以读写和存储数据,一般的程序可以显示数据。
通过XML可以在HTML文件之外存储数据使用,也可以充分利用数据,可以用于创建新的语言XML是WAP和WML语言的母亲。如果开发者有足够的预见性,那么将来的应用程序都应该使用XML的形式来存储数据。简单的,根据wsdl用jdk工具wsimport生成webservice客户端代码,再运行代码就可以获取webservice了。
wsimport -keep -p comclient webservicewsdl
其中-keep是生成源代码,-p是包名,webservicewsdl是wsdl文档的地址
还可以根据wsdl文件自己封装soap进行通信,不过比较复杂
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)