У меня есть что-то вроде этого:атрибуты доступа из узла XML с пространством имен в PHP
$x = simplexml_load_file('myxml.xml');
[...]
foreach($x->y->z[0]->w->k as $k){
[...]
}
Мой файл XML является чем-то вроде:
<x>
<y>
<z>
<w>
<k prefix:name="value">
[...]
</k>
</w>
[...]
</z>
[...]
</y>
[...]
</x>
Теперь я хотел бы получить доступ к атрибуту мой элемент k. У меня есть красный, что я могу получить к нему доступ, используя мой ineach:
$k['prefix:name']
Но это не работает. Что я делаю неправильно?
Я добавил поддельный атрибут к моему K элементу, и она работала, я думаю, что проблема в том, что атрибут я пытаюсь получить доступ в другом пространстве имен:
<k xsi:type="value">
[...]
</k>
Взгляните на это: http://www.php.net/manual/en/class.simplexmliterator.php, есть 'getChildren()'. –
Возможный дубликат [Как получить атрибут узла с пространством имен с помощью SimpleXML?] (Http://stackoverflow.com/questions/6576773/how-to-get-attribute-of-node-with-namespace-using-simplexml) - Вы получаете доступ к атрибуту узла в другом пространстве имен. – hakre