我有一個控制器使用HTTP套接字發送請求,並以xml
格式給出響應。我正在使用cakephp 2.6。
這裏是我的代碼,以獲得響應正文:從HTTP套接字響應中獲取XML元素的值
$HttpSocket = new HttpSocket();
$response = $HttpSocket->request($request);
$resulthit = $response->body;
當我嘗試打印響應體,它返回這在我的瀏覽器:
-2201502101153512eFXcByWLUHvQmYC0EHMn2JVxcpyzozBcek uid dan pwd
但是,當我看着頁面的源代碼,這是我看到的:
<? xml version="1.0" ?>
<PUSH>
<STATUS>-2</STATUS>
<SMSCMESSAGEID>20150210133953</SMSCMESSAGEID>
<GUID>knDlIBuUZf6zixlhbbxxLoxhEUGZTWPD</GUID>
<MSG>cek uid dan pwd</MSG>
</PUSH>
我怎樣才能獲得XML元素的價值?
我想要STATUS和GUID。
我已經嘗試過:
$xml = new SimpleXMLElement($resulthit);
但我只在回報說
"String could not be parsed as XML"
你應該得到很多警告,解釋什麼是錯的,而不僅僅是那個異常信息。 [**處理指令目標**之前的空間](http://stackoverflow.com/questions/14955789/solved-xml-cant-be-opened-in-a-browser)是不允許的。 – ndm 2015-02-10 07:10:16
是的,你是正確的,但不幸的是,我用於Http Socket的主機只給我這個迴應,我沒有授權編輯給出迴應的文件 – Angelina 2015-02-10 07:17:56
那麼,如果這真的是他們回來的,那麼你應該告訴他們他們的API有問題,需要修復。 – ndm 2015-02-10 07:21:17