La función DOMElement::getAttributeNodeNS() es una función incorporada en PHP que se usa para obtener el Node de atributo en un espacio de nombres específico con el nombre local para el Node actual.
Sintaxis:
DOMAttr DOMElement::getAttributeNodeNS( string $namespaceURI, string $localName )
Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- $namespaceURI: Especifica la URI del espacio de nombres.
- $localName: Especifica el nombre local.
Valor de retorno: esta función devuelve el valor de atributo que contiene el Node de atributo.
Los siguientes programas ilustran la función DOMElement::getAttributeNodeNS() en PHP:
Programa 1:
<?php // Create a new DOMDocument $dom = new DOMDocument(); // Load the XML $dom->loadXML("<?xml version=\"1.0\"?> <body xmlns:x=\"my_namespace\"> <x:div x:attr=\"value\" > DIV 1 </x:div> </body>"); // Get the elements by tagname $elements = $dom->getElementsByTagName('div'); // Get the attribute node $node = $elements[0]->getAttributeNodeNS('my_namespace', 'attr'); // Extract name $name = $node->name; // Extract value $value = $node->value; echo $name . " => " . $value . "<br>"; ?>
Producción:
attr => value
Programa 2:
<?php // Create a new DOMDocument $dom = new DOMDocument(); // Load the XML $dom->loadXML("<?xml version=\"1.0\"?> <root> <body xmlns:x=\"my_namespace1\"> <x:div x:id=\"my_id1\" > DIV 1 </x:div> <x:div x:id=\"my_id2\" > DIV 1 </x:div> </body> <body xmlns:xi=\"my_namespace2\"> <xi:div xi:id=\"new\" > DIV 1 </xi:div> </body> </root>"); // Get the elements by tagname $elements = $dom->getElementsByTagName('div'); foreach ($elements as $element) { $node = $element->getAttributeNodeNS('my_namespace1', 'id'); if ($node) { // Extract name $name = $node->name; // Extract value $value = $node->value; echo $name . " => " . $value . "<br>"; } } ?>
Producción:
id => my_id1 id => my_id2
Referencia: https://www.php.net/manual/en/domelement.getattributenodens.php