Вы должны всегда называть свои переменные PHP после узла, который они представляют. В вашем случае корневым узлом является <rsp/>
, поэтому переменная, которая содержит корневой узел, должна быть $rsp
. Таким образом, вы можете легко распознать, что при попытке доступа к узлам <result/>
произошла ошибка:
$rsp = simplexml_load_file($url);
foreach ($rsp->resultset->result as $result)
{
echo $result->doc_id, "<br/>\n";
}
Там нет никакой двусмысленности.
<rsp>
<resultset>
<result />
</resultset>
</rsp>
PHP:
$rsp->resultset->result
XPath:
/rsp/resultset/result
И не удивляюсь позже, что означает $value
.