2012-03-08 49 views
1

構建一個punchout系統,POST提供的數據爲cXML。通過cXML數據處理的最佳方式是什麼?在PHP中處理cXML POST數據

我想拉出某些值(用戶名,密碼等),並生成一個XML文件返回給供應商。

我已經完成了第二部分,但它是對我的卡住的POST的處理。我一直在試圖讓$ _POST將數據轉換回cXML。

一旦我有數據,我可以處理它:

$senderIdentity = $xml->Header->Sender->Credential->Identity; 
$senderSharedSecret = $xml->Header->Sender->Credential->SharedSecret; 
$buyerCookie = $xml->Request->PunchOutSetupRequest->BuyerCookie; 
$requestURL = $xml->Request->PunchOutSetupRequest->BrowserFormPost->URL; 
$payloadID = $xml->attributes()->payloadID; 

這只是在初始拉我不能得到正確的。

最終如果有任何影響,這將被放到HTTPS上。

任何幫助,將不勝感激。

問候, 羅伯特

+0

一旦我有數據,我可以操縱它: – rmccallum 2012-03-08 17:12:27

+0

cXML表明它有一些規範(請鏈接它),也是它的XML。除了格式細節之外,您的問題可能僅僅是關於如何在PHP中檢索原始發佈數據,請參閱[獲取原始發佈數據](http://stackoverflow.com/questions/1361673/get-raw-post-data)和[改進了PHP中對HTTP請求的處理](https://gist.github.com/1028251)。 – hakre 2012-03-08 17:16:15

+0

您通常只需將來自POST的XML文檔放入某種XML處理器中, DOM,SimpleXML或XMLReader。所以我想你必須解釋更多關於你的POST數據。請顯示代碼以獲取POST或至少顯示POST數據。 – Gordon 2012-03-08 17:36:08

回答

1

我得到這個排序利用:

file_get_contents('php://input') 

,然後使用基於輸入simplexml_load_string接收。