Get data http post XML & convert to string

Sử dụng php://input để lấy dữ liệu từ http post XML: 

  1. $file = file_get_contents('php://input');

Sau đó convert dữ liệu từ chuỗi XML sang dạng đổi tượng

  1. $test = simplexml_load_string($file, "SimpleXMLElement", LIBXML_NOCDATA);

Cuối cùng đưa về dạng Json để xử lý dữ liệu

  1. $test = json_encode($test);
  2. $arr_test = json_decode($test);

Ví dụ: Để gọi được User_ID từ chuỗi XML như này

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <soapenv>
  3. <soapenvHeader />
  4. <soapenvBody>
  5. <messageReceiver>
  6. <User_ID>0347737040</User_ID>
  7. <Service_ID>8079</Service_ID>
  8. <Command_Code>ABC</Command_Code>
  9. <Message>KTDNC</Message>
  10. <Request_ID>ABC</Request_ID>
  11. </messageReceiver>
  12. </soapenvBody>
  13. </soapenv>

Source Code như sau:

  1. $file = file_get_contents('php://input');
  2. $test = simplexml_load_string($file, "SimpleXMLElement", LIBXML_NOCDATA);
  3. $test = json_encode($test);
  4. $arr_test = json_decode($test);
  5. $join = $arr_test->soapenvBody->messageReceiver;
  6. //Gọi dữ liệu
  7. $code = $join->User_ID;

Leave a Reply

You must be logged in to post a comment.