[英]CURL result into PHP array?
下面的代码通过POST通过带有URL的text / xml的CURL通过CURL发送XML。 服务器通过回显$ ch_result进行响应。 我正在通过AJAX对此文件进行调用,因为返回的XML文件的内容将需要显示在客户端。 无论如何,我可以将这个XML文件放入一个数组中,这样我就可以使用json_encode并使它像这样返回了吗? 由于返回的XML文件很大,因此我需要使用JavaScript轻松处理此内容...因此数组最好?
谢谢!
<?php
$xml_builder = '
MY XML POSTED TO SERVER GOES HERE';
$ch = curl_init('http://username:password@myserver.blabla/api');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_builder);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_REFERER, 'http://www.mydomain.co.uk');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$ch_result = curl_exec($ch);
curl_close($ch);
echo $ch_result;
?>
您可以在服务器端解析XML,也可以在客户端解析XML。
简单又脏的方式:
<?php
$a = json_decode(json_encode((array) simplexml_load_string($s)),1);
?>
但是,请阅读这篇文章:
http://gaarf.info/2009/08/13/xml-string-to-php-array/
如果使用的是jQuery,则可以将dataType
设置为xml
,并可以使用jQuery在客户端解析xml:
要使用jquery解析xml,您必须回显:htmlentities($ ch_result),以便XML与标签等一起回显。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.