PHP 5.5.16 is released

DOMElement::getElementsByTagNameNS

(PHP 5)

DOMElement::getElementsByTagNameNSدریافت گره با استفاده از namespaceURI و localName

Description

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

این تابع تمام اجزا زیرین با localName و namespaceURI را باز می‌گرداند.

Parameters

namespaceURI

فضای نام URI.

localName

نام محلی. از * برای بازگرداندن تمام اجزا در درخت استفاده کنید.

Return Values

این تابع نمونه جدید کلاس DOMNodeList تمام اجزای تطبیق داده شده به ترتیب که با آنها در گردش پیش‌ترتیب درخت اجزا روبرو شده است باز می‌گرداند.

See Also

add a note add a note

User Contributed Notes 1 note

up
0
spam at chovy dot com
5 years ago
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.
To Top