Delphi2010手册

所需积分/C币:10 2013-08-12 10:13:24 447KB PDF
12
收藏 收藏
举报

delphi2010 帮助说明,使用说明
的服务理念的一个网站是比较抽象。当谈到技术 日前有两种要的解决方案,吸引开发商的。一个是 简单使用标准的SOAP(对象访问协议,请参考网站 第八章:REST的Web服务-255 在htp:/ww.w3. org/TR/soap/),另一个是表征使用一休息( 状态传输)的方法,连同其变异的XML-RPC( XMLRemote 过程调用)。 什么是相关的通知,这两个方法一般采用HTTP作为 传输协议(虫然他们确实提供替代品)和使用ⅹML(或者 JSON)的移动数据来回。通过使用标准的HTTP,一个web 服务器可以处理的要求,以及相关的数据包可以通过,但 防火墙。 在这一章中我将不提供对SOAP的许多细节(与排除 提的新功能添加到德尔福2010年),但广泛关注 休息。我将首先提供一些理论基础,表明一个简单的 “手上制作”和一个客户,深入发展的例子,服务器 REST的重点客户和流行的 REST Web服务的服务器端的REST 2010年德尔福提供支持作为建筑的延伸的 Data Snap XML和SOAP的更新 在我开始注重技术和同伴在休息,让我盖一 夫妇有关德尔福2010年更新,一般涉及到Web服务。 首先是提高XML处理支持,在MS的XML史新 DOM的映射和在图书馆版本的原生附带的 OpenXML 与产品。二是明确扩展SOAP支持, 兼容1.2版。 在 Delphi中的XML处理2010年 德尔福的全面支持XML处坦并没有任何激进的改变 这样,与ⅹ MLDocument的文持DOM102通过操纵发生 组成部分。该组件提供了标准DOM接口, 102代表的DOM文档对象模型是一个文档标准导航1 表示为节点树。DOM的接口是一个标准,即使非常低的水平 这样,访问文件,如ⅹML文档或网页内的HTML数据1 浏览器 256-第八章:REST的Web服务 更高层次的 XML DOM和界面结合,通过在ⅹML映射工具。 该组件可以与多个 XML DOM的发动机,其中一些 得到了长足的进步,作为涵盖如下。 旁边的是最常用的这些重要变化的 XML DOM的图书馆 在 Delphi中应用,也有改苦,结合XML数据 精灵,它现在处理包括文件元素的榘构。 微软的ⅹ ML DOM的第6版 单位的 MSXML的DOM接口(以及可在微软的XML 来源的Win32的RTL赢得文件夹)现在是指到版本6的XML引擎 ( MSXMI6dl)。不同于 pastI03,部队现在包括几乎所有 接∏,包括SAX接∏VB的版本 与所有的接口单元被称为 MSXML和它的源代码,可以发现 下源名win32\RTL的文作夹,嬴得不是源名\Win32\的XML 文什夹,它承载的DOM映射器,包括用于 MS msxmldom单位 从映射的 XML DOM的 XMLDocument组件 山于这是德尔福IDE中使用的图书馆,它的改进还涉及到 XML相关的⊥具集的德尔福。 文档对象模型的替代 原生XML引擎的帕斯卡尔,书面和科勒维护迪特尔,有 被升级为新版本多4.3(它仍然在版本23.14 多年)。新图馆还一“开放XML不同的名称:从” 现在是“另类文档对象模型”。沿蒼这一側的变化 在供应商的ⅹ MLDocument组件的名称进行了史新,“阿多姆的XML v4的“,所以你必须更新任何应用程序使用它。 这也意味着在单位结构的变化,可能造成不兼容 在过去只有一个单位(xdom),现在有一打 他们(其中主要是 Adom Core43)。如果您有深入探讨」这个库, 当然,你会看到一些比较激进的变化。 103在过去,你不得不产生这些接口的类型库导入,和我一样 过去曾多次在⊥作中与SAⅩ接口(例如覆盖 掌握德尔福2005年)。请注意,顺便说句,你必须使用的ⅤB版本 SAX接口,囚为C++版本是水平打破了类型库 第八章:REST的Web服务-257 更新我 Large Xm应用 为了更好地计算出变动的影响XML的关系,我凵经决定 升级一个ⅹML处理应用程序我与的书掌握德尔福 系列,被称为 LargeXml,到2010年德尔福。这个方案同时使用 MSXML和 Adom,以及他们的SAX接口相当广泛。 总之,应用程序连接到数据库,生成与 ClientDataSet 大量的数据,并保存它们(直接的ⅩML文件与不同的技术 XmlData内容的组件,XML的映射器,手动创建的XML 格式)。这是第二个功能的演示,这是一个我将重点介绍在这里 要通过分析他们的能力重新打开这些XML文件或者在一个DOM或 填第二个 ClientDataSet的。原来的解析风格SAX104。 第一次觉得我必须做的是改变 Open XML的参考,以阿多姆 ⅹML的组件之一 XmlDocument的: 对象 XMLDocument2: TXMLDOcument DOMVendorDesc=阿多姆的XML4的 结束 接下来,我不得不作出相当,取代一些改变用途的发言: 木 Adom Core43单位与单位的xdom DOM中的ⅹ MLDocument的 xmldom与使用 Open XML股( 组件)与新阿多姆 adomxmldom接口 ·使用 MSXML单位 MSXML2TLB接口单元的准备 另一个问题是,(至少在我的安装)单位的大部分 有关XML的格式提供支持,是不是在dcu在lib文件夹,所以我 必须包括他们的源代码文件夹的项目进入搜索的路径。 接下来,我需要修补流支持 Unicode代码,例如改变 基」代码的 TFlleStream使用 TStream Writer类介绍 德尔福2009年。这是一个风格的例」,说明新的编码: 程序 TForm1. btn SaveXmlPacketClick(发件人: TObject) 变和 sWriter: TStream writer 开始 wRiter:= TStream Writer: Create( 'data. xml中',假(取代)); s Writer Write( ClientData Set1.XMLData) 104SAX或用于XML的简单API,是一个事件驱动的解析技术。对于每个元素 XML文件被解析时,SAX的引擎将触发一个事件(技术上称之为虚拟 法),这是最多的方案来处理或丢弃 258-第八章:REST的Web服务 终于 wRiter. free 结束 结束 为MS的支持SAX的代码工作,基本上没有变化,因为我的原 代码中使用的ⅴBSAX接口可能获得通过导入类型库( XML版本的MS4日的时间)。我所要做的就是更改名称 该 Set documentlocator方法 Set documentlocator,加入 初步下划线。 为了在代码中的XML阿多姆我没有发现任何相当于原 类似于SAX的支持,所以我基本上要重写,采用新的信号为基础的 编码风格。代码核心的解析是 Process Signal方法 在 TXmlStandardHandler派生类,它提供了自定义实现 为解析代码。 在此代码的程序处理三个事件(或信号)。由于它命中的开始 一个XML节点( TXmIStartElementSignal),该方案添加一个节点 本地堆栈(字符串列表),当这是一个新的员工记录它调用 Insert方法目标 ClientData Set的组成部分。该方案不断 添加任何 TXmlPCDATASignal)文本内容(到目前的案文,其中 可能被划分在多个节点。当它击中一个XML节点结束 ( TXmlEndEelementsignal),如果是读3级嵌套的XML节点 该方案添加 ClientData Set的文字读来的相应字段, 而如果这是记录,它的职位数据,最后的: 程序 TDataSaxHandler Process Signal(常量信号: TXmISignal) 变和 标记名称:字符串; 开始 然后,如果信号是 TXmlStartElement Signal 开始 stack. Add( TXmlStartElementSignal(信号)。标记名) 如果 TXmlStartElementSignal(信号)。标记名= EmployeeData的,那么 Forml clientdataset Insert strCurrent:= 结束 否则,如果信号则是 TXmlEndElementSignal 廾始 如果 TXmlEndElementSignal(信号)。标记名= EmployeeData的,那么 Form1. clientdataset Post 如果 stack count>2那么 开始 Forml Client Data Set 2, edit Forml. ClientDataSet2 Field By Name TXmlEndElementsignal(信号)。标记名) AsString: = strCurrent; 第八章:REST的Web服务-259 结束 stack. Delete ( stack Count-1) 束 否则,如果信号则是 TXmIPCDATASignal 开始 strCurrent: strCurrent Remove Whites TXmlPCDATASignal(信号)。数据); 束; 结束 另外的代码来调用这个信号的处理略有不同 原代码用来调用的SAX引擎。其实质是: 读者:= TXmlStandardDoc Reader Create(零) reader. NcxtHandler:=TDataSax Handler Create(F) SourcestreaIm:- TFilestream. Create(文件名, fimOpenRead) Sysd:= Filename ToUriWideStr(文件名,[ I InputSource:= TXmlInputSource Create( SourceStream ",Sysd,4096,",假,0,0,0,0,1); reader. Parse( E InputSource) 现在,如果你从未使用过一个SAX引整的代码和说明似乎 有点尴尬,但我觉得它提到有关的一些变化和显示 演示代码,大家谁用这个ⅩML库(以下我很可能 白己的意见!) SOAP1.2的支持 即使我认为REST的接口都在上升和SOAP在下降, 有显着的环境机构(从政府到大公司) 谁授权他们使用SOAP作为沟通的方式。这就是为什么 良好的质量仍然是一个重要的SOAP支持德尔福的功能。 在新版本中,增加了德尔福的SOAP支持的开发版本 2客户端,这符合该标准。现在,您可以导入新的WSDL 文件和生成的对象帕斯卡尔服务接口史新。我做了 非常有限的测试,这个环节。 请注意,现在是正式的SOAP支持仅限于客户的发展: 德尔福建设SOAP服务器仍然是可能的,但该技术已被 废弃了。最后,还有一个小,但潜在的有趣的选择 这是要求支持 Https的身份验证使用ⅹ509证书 这是可以使用一个新的 Invokeoption HttpriO组成的, soPick Firstclientcertificate 260-第八章:REST的Web服务 什么是REST? 即使RFST的总体思路是围绕一些时间,引进

...展开详情
试读 106P Delphi2010手册
立即下载
限时抽奖 低至0.43元/次
身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚钱or赚积分
最新推荐
Delphi2010手册 10积分/C币 立即下载
1/106
Delphi2010手册第1页
Delphi2010手册第2页
Delphi2010手册第3页
Delphi2010手册第4页
Delphi2010手册第5页
Delphi2010手册第6页
Delphi2010手册第7页
Delphi2010手册第8页
Delphi2010手册第9页
Delphi2010手册第10页
Delphi2010手册第11页
Delphi2010手册第12页
Delphi2010手册第13页
Delphi2010手册第14页
Delphi2010手册第15页
Delphi2010手册第16页
Delphi2010手册第17页
Delphi2010手册第18页
Delphi2010手册第19页
Delphi2010手册第20页

试读结束, 可继续阅读

10积分/C币 立即下载