Я не могу воспроизвести то, что вы описываете, измененный XML:
<?xml version="1.0"?>
<toolbox id="5">
<hammer id="5"/>
<screwdriver id="5"> </screwdriver>
<knife id="5">
sharp
</knife>
</toolbox>
Демо
Это именно ваш код, возможно, вы используетедругая версия LIBXML?См. Константу LIBXML_VERSION
(кодовая панель viper имеет 20626 (2.6.26)).
Но, вероятно, это всего лишь вывод print_r
для объекта SimpleXMLElement
.
Это невыведите атрибуты для последнего элемента, даже на совершенно новом объекте, но все еще возможно получить доступ к атрибуту. Демонстрация .
Когда вы print_r($temp->knife['id']);
увидите, что атрибут установлен (вы увидите это в предыдущем выводе XML).