PHP var_dump XML из simplexml_load_string

У меня есть объект XML, созданный simplexml_load_string из следующего XML:

<?xml version="1.0" encoding="UTF-8"?>
<Website hasRead="true" hasWrite="true" key="managementui" terminalUserPin="" username="admin">
<Section key="organisation">
<Controller key="Sites">
<Function hasRead="false" hasWrite="false" key="estateLayout"/>
</Controller>
</Section>
<Section hasRead="false" hasWrite="false" key="settings"/>
</Website>

Хранится в переменной $xml

Когда я пытаюсь:

$xmlkey = $xml['key'];
var_dump($xmlkey);

Я ожидаю увидеть строку 'managementui' но вместо этого я получаю исключение. Журнал ошибок даже не показывает ничего. Что тут происходит?

Просто пытаюсь выучить PHP после многолетнего опыта работы с Java. Когда люди говорят, что PHP «легкий», это должно быть странное использование слова «легкий», о котором я раньше не знал 🙂

РЕДАКТИРОВАТЬ
Теперь, после извлечения проблемного фрагмента кода в файл php меньшего размера и запуска его из командной строки, похоже, в этом нет ничего плохого. var_dump дает ожидаемый результат. Проблема в том, что он все равно выдает ошибку в производственном коде. Есть ли ожидаемая разница в поведении между запуском на линии comnad и в сети (на apache)?

0

Решение

Работает для меня.

Вы загружаете XML следующим образом:

$string = '<?xml version="1.0" encoding="UTF-8"?>
<Website hasRead="true" hasWrite="true" key="managementui" terminalUserPin="" username="admin">
<Section key="organisation">
<Controller key="Sites">
<Function hasRead="false" hasWrite="false" key="estateLayout"/>
</Controller>
</Section>
<Section hasRead="false" hasWrite="false" key="settings"/>
</Website>';

$xml = simplexml_load_string($string);

echo $xml['key']; // managementui
0

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

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

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