返回首页
当前位置: 主页 > 航空资料 > 计算机 >

XML高级编程上(144)

时间:2010-08-09 13:05来源:蓝天飞行翻译 作者:admin 点击:
  
d o c u m e n t E l e m e n t作为X M L文件的根:
程序清单11 - 6 0
该文件最后的< b o o k >元素用l a s tCh i l d()方法找到,将被加入的新元素的书籍I D比最后元
素的书籍I D大得多,并被属性b o o k i d定义。
程序清单11 - 6 1
用C r e a t e E l e m e n t()方法来创建一个新的< b o o k >元素并附加到文件后面,然后设置两个属
性,即已经得到的I D属性和出版日期属性,该属性在R P C调用里也被作为一个参数被传送。
< t i t l e >元素也被创建,并被附加成为新的< b o o k >元素的子结点,该< t i t l e >元素的值从X M L -
R P C调用中被传送的参数中获得。
程序清单11 - 6 2
462使用XML 高级编程
下载
创建一个< a u t h o r s >元素并加入被作为参数传入的每一个作者(每位作者都以逗号隔开),成
为< a u t h o r >元素。该元素是< a u t h o r s >的子元素, < a u t h o r s >元素随后被附加到双亲< b o o k >元素。
程序清单11 - 6 3
随后< s u b j e c t >元素被创建并被附加到< b o o k >元素(该元素早些时候已经创建),主题文本被
设置成一个X M L - R P C参数来传送。随后, < b o o k >自身代表一本新书被加到文档根目录。
程序清单11 - 6 4
最后,用Microsoft XML执行工具的s a v e()方法保存X M L文档,用它被更新的结构和返回
的被加入书籍的I D作为对X M L - R P C调用的响应:
程序清单11 - 6 5
第11章服服务器到服务器使用463 下载
11.3.6 到哪里去
下面这个清单展示了一些不同的实现工具和得到它们的站点:
• XML-RPC client for Python,由P y t h o n Wa r e提供:h t t p : / / w w w. p y t h o n w a r e . c o m / x m l r p c /
• XML-RPC client/server for Java,由Hannes Wa l l n ö e f提供:h t t p : / / h e l m a . a t / h a n n e s / x m l r p c /
• XML-RPC client for Java, 由Josh Lucas提供:h t t p : / / w w w. s t o n e c o t t a g e . c o m / j o s h / r p c C l i e n t . h t m l /
• XML-RPC client/server for Perl,由Ken Ma c L e o d提供:h t t p : / / b i t s k o . s l c . u t . u s / ~ k e n / x m l - r p c /
• XML-RPC in Tcl, 由Steve Ball提供:h t t p : / / w w w. z v e n o . c o m / z m . c g i / i n - t c l x m l / i n - x m l r p c . t m l
• XML-RPC client/server for ASP, 由David Carter- To d提供:h t t p : / / w w w. w c . c c . v a . u s / d t o d / X M L R P C /
• XML-RPC client COM, 由Steven Livingstone提供:h t t p : / / w w w. d e l t a b l z . c o m / x m l r p c / d e f a u l t . a s p
• XML-RPC client/server PHP,由Useful Int.公司提供:h t t p : / / u s e f u l i n c . c o m / x m l r p c /
在F r o n t i e r和Zope 2.0也有内置的X M L - R P C支持( h t t p : / / w w w. Z o p e . o rg / D o w n l o a d / R e l e a s e s / Z o p e -
2 . 0 . 0 1 )。
1. ASP
所有文件,包括客户或者服务器的,只要参于了X M L - R P C的方法调用,均需要在顶端将文
件x m l r p c . a s p包括进来。通过X M L - R P C调用一个方法,将使用如下语法:
程序清单11 - 6 6
目前的实现需要MS Internet Explorer 5 和在h t t p : / / w w w. a l p h a s i e r r a p a p a . c o m / l i s D e v /
C o m p o n e n t s /上的免费软件A S P Te a r组件。在服务器上, Alvaro Redondo的免费B a s e 6 4编码库也
必须注册(使用M S D O S上的r e g s v r 3 2工具)。
2. COM
XML-RPC COM客户实现是本书的作者自己( Steven Livingstone)写的,目前,它正在
X M L - R P C领域测试,D L L可免费从h t t p : / / w w w.deltebiz.com/ xmlrpc/ default.asp上得到,它将使
用r e g s v r 3 2工具注册。
目前,P r o g I D是d e l t a b i z . x m l r p c C l i e n t,用V B S c r i p t可以执行一个X M L - R P C调用:
程序清单11 - 6 7
在表11 - 3中。
464使用XML 高级编程
下载
表11 - 3
参数意义
U R L X M L - R P C服务器的地址
P r o x y U R L 代理服务器的U R L,如果不用代理,可设置为“”
P r o x y U s e r N a m e 使用代理的用户名,如无代理,应使用“”
P r o x y P a s s w o r d 使用的代理的口令,如无代理,应使用“”
m e t h o d N a m e 将调用的远程方法的名字
p a r a m e t e r A r r a y 方法的参数
P r o x y版需要A S P Te a r的商业版,其他版本均可用免费版本。
3. Java
有两个J a v a的实现工具,一个客户/服务器程序来自于Hannes Wa l l n ö f e r,一个客户程序来自
Josh Lucas。
第一个必须内置在H T T P服务器上。一个X M L解析器必须能在此系统上使用。因为X M L -
R P C库使用S A X,你应该使用一个下载区列出的建议使用的解析器,尽管默认的是Jamas Clark
的比较流行的X T解析器。这个站点还有A P I文档和一个邮件列表。
Josh Lucas 有一个基于J a v a的X M L - R P C客户程序。下载文档应被包括在你的类路径
(c l a s s p a t h)里,且c o m . b a r i s t a . *应该被引入。
也有许多用P y t h o n 、P e r l 、Tc l 和P H P 编写的实现工具— 所有这些均可以从
http://www.xmlrpc.com/这一XML-RPC站点下载。
11.4 SOAP
X M L - R P C由于其简单性获得了广泛的支持,使用它有事半功倍的效果,其代码的编写简单
到几乎可以使用任何语言—在许多平台—在远程服务器上执行。既然许多We b程序员熟悉提
 
中国航空网 www.aero.cn
民航翻译 www.aviation.cn
本文链接地址:XML高级编程上(144)
 
------分隔线----------------------------