SimpleXML, namespaces

NOX

Новичок
SimpleXML, namespaces

В XML документе есть тэги и атрибуты с/без namespace. т.е
$string = <<<XML
<xml xmlns:a="http://site.net/a" xmlns:b="http://site.net/b" xmlns='http://site.net/'>
<a:tag>
TextA
</a:tag>
<b:tag>
TextB
</b:tag>

<tag id="0">
<newTag a:attribute="attributeA" b:attribute="attributeB"/>
Text
</tag>
</xml>
XML;

чтобы после загрузки в SimpleXMLElement [new SimpleXMLElement($string) ], объект "видел" следующую информацию

<xml>
<a:tag>
TextA
</a:tag>

<tag id="0">
<newTag a:attribute="attributeA"/>
Text
</tag>
</xml>

тэги и атрибуты без namespace общие для тэгов и атрибутов с namespace
(т.е. что-то вроде [new SimpleXMLElement($string, false, false, 'a' or '', true ) ])

порекомендуйте, куда копать чтобы оптимально выполнить задачу.
 

Wicked

Новичок
1) что значит "видеть" ?

2) и почему бы просто не удалить всё, что не принадлежат дефолтному неймспэйсу, и неймспэйсу a ?

3) зачем все это нужно?

-~{}~ 08.07.07 20:50:

NOX
и было бы неплохо, если бы XML был без огрехов типа
 

NOX

Новичок
>1) что значит "видеть" ?
Это значит, что если
$xml =new SimpleXMLElement($string, false, false, 'a', true )
то объект $xml "видит" только <a:tag>, т.е. $xml->tag будет равен "TextA"
>2) и почему бы просто не удалить всё, что не принадлежат дефолтному неймспэйсу, и неймспэйсу a ?
Не самый быстрый ватиант при работе с немаленькими файлами, т.к. требуется предобработка ...
>3) зачем все это нужно?
Филосовский вопрос :) . Хотелось бы разрешить эту задачу.
>и было бы неплохо, если бы XML был без огрехов...
Моя вина, сорри. исправил

-~{}~ 10.07.07 14:49:

поставим вопрос по-другому:
кто-нибудь может подкинуть линк/примеры использования SimpleXMLIterator.
 
Сверху