我正在接收通过 POST 发送的 XML。自然地,我需要解析这个 XML 以获得它为我提供的好处。但是,当我收到 XML 时,似乎 PHP 正在像查询字符串一样解析它。
例如,这个 xml:
<?xml version="1.0" encoding="utf-8"?>
<ForgotPassword>
<version>1.0</version>
<authentication>
<login>myresllerid</login>
<apikey>1234567890abcdef</apikey>
</authentication>
<parameters>
<emailAddress>joesmith@example.com</emailAddress>
</parameters>
</ForgotPassword>
变成这样(来自 print_r($_REQUEST)
):
Array
(
[
<?xml_version] => "1.0" encoding="utf-8"?>
<IDCForgotPassword>
<version>1.0</version>
<authentication>
<login>myresllerid</login>
<apikey>1234567890abcdef</apikey>
</authentication>
<parameters>
<emailAddress>joesmith@example.com</emailAddress>
</parameters>
</IDCForgotPassword>
)
您可以看到 XML 在 XML 中的第一个等号 (=) 处被分解为键/值对。
如何避免这种情况?
最佳答案
除非 enctype 是 multipart/form-data 使用 php://input获取原始输入。
$c = file_get_contents('php://input');
关于php - 如何处理通过 POST 发送的 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2803147/