Я отправляю 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";
}
?>
Любая помощь по этой проблеме будет принята с благодарностью.
Вы можете прочитать полученный 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 как объект, к которому вы можете легко получить доступ.
Других решений пока нет …