Проверьте, содержит ли ответ xml определенное значение Переполнение стека

Я отправляю xml на сервер, который отправляет ответ xml. Моя проблема в том, что я не знаю, как обращаться с входящим xml (проверьте значение элемента «куплено» и перенаправьте пользователя (на основе критериев) в элемент «redirect_url»). Вот пример кода ответа:

<?xml version="1.0" encoding="UTF-8"?>
<result>
<posting_error>0</posting_error>
<purchased>1</purchased>
<redirect_url>http://redirect.php?id=123</redirect_url>
</result>

И вот фрагмент PHP у меня есть:

<?php
# $headercontent is not referencing the response in any way, how would I do this
# (if need be)?
if($headercontent->result[0]->purchased == 1)
{
#redirect the user to the 'redirect_url' in the response xml
}
else
{
echo "the application was unsuccessful";
}
?>

Любая помощь по этой проблеме будет принята с благодарностью.

0

Решение

Вы можете прочитать полученный XML, используя simplexml как это:

<?php
$string = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<result>
<posting_error>0</posting_error>
<purchased>1</purchased>
<redirect_url>http://redirect.php?id=123</redirect_url>
</result>
XML;

$result = simplexml_load_string($string);
if (isset($result->purchased))
{
echo $result->purchased;
}
else
{
echo "no purchased value is present...";
}

Как следует из названия simplexml_load_string читает строку XML как объект, к которому вы можете легко получить доступ.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]