我正在接收通过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中的第一个等号(=)分解为键/值对。
我该如何避免这种情况?
答案 0 :(得分:5)
除非enctype是 multipart / form-data ,否则使用php://input来获取原始输入。
$c = file_get_contents('php://input');