Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: X технологии > Получить список пространств имен (xmlns)


Автор: Flam 10.5.2010, 19:02
И снова здравствуйте!   smile 

Возникла проблема с получением массива пространств имен  и их URI.

Суть такова:

Есть RDF\XML вида:

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
 xmlns:owl="http://www.w3.org/2002/07/owl#"
 xml:base="http://www.base.ru/">
.
.
.
</rdf:RDF>



Допустим мне нужен ассоциативный массив пространств имен соотносящий  их  префиксы и URI:

['rdf' =>"http://www.w3.org/1999/02/22-rdf-syntax-ns#", ..., 'base' =>"http://www.base.ru/"]

В общем получаю я узел rdf:RDF в $node
И тут столкнулся с тем, что xmlns это не обычные атрибуты и работать с ними например таким кодом
 
        $attributes = array();
        foreach ($node->attributes as $attribute) {
             $attributes[$attribute->name] = $attribute->value;
        }


не выходит.

в массив попадает только последний base префикс  =\
Array ( [base] => http://www.base.ru/ )

Помогите кто чем может =(   Время у меня тает,  а  делать еще   smile 

Автор: Flam 13.5.2010, 08:38
Тут есть кто живой?! =\
На stackoverflow.com   предложили человеку импортировать в SimpleXML и использовать getNamespaces(); 
но мой RDF SimpleXML не хавает  ; ((   приходится париться с ДОМом

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)