你如何处理与回应要看哪个办法,送请你选择。 如果你产生的请求,无论是手动或与援助的一个php的内置函数(如file_get_contents ( )函数) ,你也将需要手工处理的反应。 如果你使用的第三党模块,它有自己的界面,以检索结果。
手动解析响应
反应所提供的服务器应该是一个xml文件;幸运的是, xml的设计,可以很容易解析。 不幸的是,不管它是如何设计的,手动解析什么,通常不是很好玩。 php5配备了simplexml ,使得处理xml文件轻而易举的。 php4用户没有了simplexml ;但是,有少数的第三党模块一样minixml可说,履行着类似的职能。
一旦你已收到回应,坚持把它变成了simplexml对象应该是一个轻拂。 用以前的图书馆为例,并要求功能,你吃掉你的东西是这样的:
为响应= callapiquick ( ' http://library.example.com/api.php ' , '123 ' , '搜索' ,
'书' , '风格' ) ;
如果( $回应)
(
美元的xml = simplexml_load_string ( $反应) ;
print_r ( $的xml ) ;
)否则
(
回声"错误加载饲料" ;
)
在这里,我们的反应是不假(因而东西,想必xml的,你希望的,被退回) 。 注意到,这个假设是大致相当有效。 当一台服务器提供一个api遇到一个错误,它应该提供误差在尼斯xml格式的文件。 该simplexml_load_string ( )函数有反应,并轮流到一个xml对象,可直接上网,通过迭代,等等。 最后, print_r ( )函数的结果,在一个用户友好的输出显示的内容,对象,显示出在这里:
simplexmlelement对象
(
[要求] = > simplexmlelement对象
(
[ requestid ] = > 123a456
[参数] = > simplexmlelement对象
(
[论点] = >阵列
(
[ 0 ] = > simplexmlelement对象
(
)
[ 1 ] = > simplexmlelement对象
(
)
[ 2 ] = > simplexmlelement对象
(
)
[ 3 ] = > simplexmlelement对象
(
)
)
)
)
[ 回应] = > simplexmlelement对象
(
[ resultcount ] = > 2条
[项目] = >阵列
(
[ 0 ] = > simplexmlelement对象
(
[标题] = >风格的书第一卷一日
[现况] = >出
[持有] = >三
[ copiesonhand ] = > 2条
[作者] = > jon能源部
)
[ 1 ] = > simplexmlelement对象
(
[标题] = >一书的风格第20卷
[现况] = >在
[持有] = > 0
[ copiesonhand ] = >一
[作者] = > jon能源部
)
)
)
)
看产量,一对夫妇的事情,应该立即显而易见的:
了simplexml做了很多真正有用的东西,你得非常快。
由此产生的物体不显示属性(见参数列表下的参数) 。 该数据是在那里,只是没有表现出与print_r ( ) 。
阵列开始计数,在0 (就像其他地方一样,在php中,它的只是要牢记) 。
该项目数组是刚刚乞讨来处理了foreach ( )循环。
同时所有这些资料都记为一对夫妇,快行代码都是这就是需要探讨的内容更加充分。
回声: "你们在网上查看: (元xml的>要求>参数>说法[ 3 ] ->价值) < br>" ; 回声: "这里是你的(元xml的>反应> resultcount )结果<br> " ; foreach ( $ xml的>反应>项目作为& $项目) ( 回声" ( $项目- >标题) (美元项目- >作者) <br> " ; ) 在这里,搜索查询和结果计数介绍,然后结果本身迭代通过。 语法得到一点怪异,在处理阵列(主要表现在当搜索查询印数) ,所以它往往是明智的遍历通过他们明晰。
休息是一种有效的方法查询偏远宣传短片时,才准许请求您的部份交易发生在明确的。 创造休息疑问一样容易的url编码所需的参数,并指明一个端点为号召。 处理其余的反应可以是一个小麻烦;但是,通过利用工具一样了simplexml ,它也可以迅速完成。
这是一篇文章说,由emanuela赫德里克 免责声明:我们的网站是不负责所载资料由本条规定。 这篇文章根本没有反映看法,意见,思想或信仰的文章目录中的工作人员。
翻译预告:文章" ,如何落实,其余的技术" ,被翻译使用的自动翻译服务。 我们真诚地道歉,对任何翻译错误发生。 谢谢你的谅解。