DOMElement::getElementsByTagNameNS

(PHP 5, PHP 7)

DOMElement::getElementsByTagNameNS Получение элементов по локальному имени в заданном пространстве имен

Описание

public DOMNodeList DOMElement::getElementsByTagNameNS ( string $namespaceURI , string $localName )

Эта функция выбирает все элементы-потомки с заданным именем localName и пространством имен namespaceURI.

Список параметров

namespaceURI

URI пространства имен.

localName

Локальное имя. Используйте * для выбора всех элементов из дерева.

Возвращаемые значения

Эта функция возвращает новый объект класса DOMNodeList содержащий все подошедшие под шаблон выбора элементы в том порядке, в котором они появляются при прямом обходе дерева.

Смотрите также

Коментарии

I had some difficulty stripping all default NS attributes for an ns-uri in one shot, the following will work though...first strip the documentElement namespace, then getElementsByTagNameNS() -- the documentation should reflect that the 2nd argument is actually the name of the tag, not the local namespace prefix as I first expected:

<?php

function strip_default_ns$xml null$ns_uri 'http://example.com/XML-Foo' ) {
   
$ns_local '';
   
$ns_tag '*';
   
    if ( empty(
$xml) ) return false;
   
   
//remove document namespace
   
$dom = new DOMDocument();
   
$dom->loadXML($xml);
   
$dom->documentElement->removeAttributeNS($ns_uri$ns_local);
   
   
//strip element namespaces
   
foreach ( $dom->getElementsByTagNameNS($ns_uri$ns_tag) as $elem ) {
       
$elem->removeAttributeNS($ns_uri$ns_local);
    }

    return 
$dom->saveXML();
}

$stripped_xml strip_default_ns($the_xml);

?>

$stripped_xml can now take advantage of running XPath queries on it for the NULL namespace.
2009-06-03 20:36:24
http://php5.kiev.ua/manual/ru/domelement.getelementsbytagnamens.html

    Поддержать сайт на родительском проекте КГБ