Как обработать XML, отправленный через POST? - PullRequest
3 голосов
/ 10 мая 2010

Я получаю XML, отправленный через POST. Естественно, мне нужно проанализировать этот 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 на пару ключ / значение.

Как мне избежать этого?

1 Ответ

5 голосов
/ 10 мая 2010

Если enctype не равен multipart / form-data , используйте php: // input для извлечения необработанного ввода.

$c = file_get_contents('php://input');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...