DOMElement::getElementsByTagNameNS

(PHP 5, PHP 7, PHP 8)

DOMElement::getElementsByTagNameNSİsmi ve isim alanı belirtilen elemanları döndürür

Açıklama

public DOMElement::getElementsByTagNameNS(string|null $isimalanı, string $isim): DOMNodeList

Düğümün ismi ve isim alanına dahil alt düğümleri rastlandıkları sıra ile ve alt düğümleri ile içeren yeni bir DOMNodeList nesnesi döndürür.

Değiştirgeler

isimalanı

İsim alanını betimleyen adres.

isim

önek:etiket biçeminde eleman ismi. Tüm eleman ağacını döndürmek için * belirtin.

Dönen Değerler

Eşleşen tüm elemanları içeren yeni bir DOMNodeList nesnesi döner.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.3 isimalanı artık null olabiliyor.

Ayrıca Bakınız

add a note add a note

User Contributed Notes 1 note

up
0
spam at chovy dot com
14 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