我有一個PHP頁面,服務在捐贈時發出通知。我的PHP頁面應該獲取XML內容並解析出來進行處理。在PHP和WordPress中解析來自URL變量的XML數據
服務發送的格式如下:
http://myserver.com/myphp.com?details= xml data
我有以下代碼監聽這個帖子:
//Load xml from post
$data = file_get_contents('php://input');
$xmlData = simplexml_load_string($data);
//grab mobile number to query mgive for user info
$mnumb= $xmlData->MobileNumber;
$mnumb=ltrim($mnumb,'1');
我收到以下錯誤,當服務發出的通知。 警告:simplexml_load_string()[function.simplexml-load-string]:Entity:line 1:parser error:Start tag expected,'<'
我在想什麼或編碼錯誤?
12-18-2013 855cst 謝謝ThW ..正在取得進展。
我用你的建議#2來獲取數據。 當我做一個print_r(xmlData)時,屏幕上沒有輸出。但是,使用Chrome開發人員工具時,會得到以下輸出: data =%3C%3Fxml + version%3D%221.0%22 + encoding%3D%22utf-8%22%3F%3E%3CGetDonationStatusResult + xmlns%3Axsi% 3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema實例%22周+的xmlns%3Axsd%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%22%3E%3CResultCode +% 3E0%3C%2FResultCode%3E%3CResultText +%2F%3E%3CRecordID +%3E0%3C%2FRecordID%3E%3CMobileNumber +%3E12142911111%3C%2FMobileNumber%3E%3CCarrierID +%3E31002%3C%2FCarrierID%3E%3CCarrierName +%3EAT%26安培% 3BT +無線%3C%2FCarrierName%3E%3CDonationStatus +%3EUserAccepted%3C%2FDonationStatus%3E%3CMobileTransactionID +%3E62622731%3C%2FMobileTransactionID%3E%3CDonationMsgGUID +%3E9c17d57f-b54e-488A-8cf5-1c658d1aa618%3C%2FDonationMsgGUID%3E%3CCampaignID +% 3E20409%3C%2FCampaignID%3E%3CShortCode +%3E27722%3C%2FShortCode%3E%3CMsgTime +%3E2013-12-17T12%3A53 3A18%%3C%2FMsgTime%3E%3CMessageText +%3ELIBERIA + WAP%3C%2FMessageText%3E%3C% 2FGetDonationStatusResult%3E & *
您可以看到MobileNumber已發送。但是,當我回顯$ mnumb時,我沒有輸出。我在使用simplexml_load_string($ data)時丟失了一些東西;抓住MobileNumber?
你能表現出合作的例子你實際傳遞給它的XML? – Zarathuztra
<?xml version =「1.0」encoding =「utf-8」?> <移動電話號碼> 19191112222移動電話號碼> AT & T無線 CARRIERNAME> UserAccepted DonationStatus > 2013-12-17T20:53:05 LIBERIA WAP MessageText> GetDonationStatusResult> –
這正是您在echo $ data;時得到的結果嗎?你100%確定? –