我想从Cake Php中的XML数据中获取特定值。这是我到目前为止所得到的:
在控制器中执行print_r($ output)之后,这就是我所拥有的;
<?xml version="1.0" encoding="UTF-8"?>
<response>
<xmlArray>
<numbers>52619657</numbers>
</xmlArray>
</response>
因为我不知道如何直接从xml获取它,所以我将它转换为控制器中的数组cakePHP doc提及。
$xmlArray = Xml::toArray(Xml::build($out));
print_r的结果($ xmlArray);是
Array
(
[response] => Array
(
[xmlArray] => Array
(
[numbers] => 52619657
)
)
)
我试图得到数字&#39; 52619657&#39;。所以我的尝试是
print_r ($xmlArray['numbers']);
但它不起作用(错误是Undefined index :)。所以我尝试使用像here这样的IN方法,但实际上我不知道该怎么做。如何获得号码&#39; 52619657&#39;?在蛋糕PHP。
非常感谢
答案 0 :(得分:2)
我不明白你为什么需要第三方库,比如Cake的XML类。您可以使用SimpleXML轻松完成此任务:
$response = simplexml_load_string($output);
echo $response->xmlArray->numbers;
您的方法无效,因为您的$xmlArray
是嵌套数组,而$xmlArray['numbers']
会尝试从第一级获取数字。您需要使用$xmlArray['response']['xmlArray']['numbers'];
了解如何读取数组是基本知识,因此请考虑在PHP手册中重读这一部分。