PHP Doku:: Get elements by namespaceURI and localName - domelement.getelementsbytagnamens.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzXML-ManipulationDocument Object ModelThe DOMElement classDOMElement::getElementsByTagNameNS

Ein Service von Reinhard Neidl - Webprogrammierung.

The DOMElement class

<<DOMElement::getElementsByTagName

DOMElement::hasAttribute>>

DOMElement::getElementsByTagNameNS

(PHP 5)

DOMElement::getElementsByTagNameNSGet elements by namespaceURI and localName

Beschreibung

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

This function fetch all the descendant elements with a given localName and namespaceURI.

Parameter-Liste

namespaceURI

The namespace URI.

localName

The local name. Use * to return all elements within the element tree.

Rückgabewerte

This function returns a new instance of the class DOMNodeList of all matched elements in the order in which they are encountered in a preorder traversal of this element tree.

Siehe auch


Ein BenutzerBeitrag:
- Beiträge aktualisieren...
spam at chovy dot com
4.06.2009 2:36
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.



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)