La función DOMNamedNodeMap::getNamedItemNS() es una función incorporada en PHP que se usa para recuperar un Node con un nombre local específico y un URI de espacio de nombres. Esta función se puede utilizar para obtener el valor de un atributo de un espacio de nombres específico.
Sintaxis:
DOMNode DOMNamedNodeMap::getNamedItemNS ( string $namespaceURl, string $localName )
Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- $namespaceURl: Especifica la URI del espacio de nombres.
- $localName: Especifica el nombre local.
Valor de retorno: esta función devuelve un Node con un nombre local y un URI de espacio de nombres dados.
Los programas dados a continuación ilustran la función DOMNamedNodeMap::getNamedItemNS() en PHP:
Programa 1: en este ejemplo, obtendremos el valor del atributo de un elemento con dos espacios de nombres diferentes.
<?php // Create a new DOMDocument $dom = new DOMDocument(); // Create an element with namespace $node = $dom->createElementNS( "my_namespace", "x:p", 'Hello, this is my paragraph.'); // Add the node to the dom $newnode = $dom->appendChild($node); // Set the attribute with a namespace $newnode->setAttributeNS("my_namespace", "style", "color:blue"); echo "<b>Attributes with my_namespace as namespace:</b> <br>"; // Get the attribute value $attribute = $node->attributes->getNamedItemNS('my_namespace', 'style')->nodeValue; echo $attribute; echo "<br><b>Attributes with other_namespace as namespace:</b> <br>"; // Get the attribute value $attribute = $node->attributes->getNamedItemNS('other_namespace', 'style')->nodeValue; echo $attribute; ?>
Producción:
Attributes with my_namespace as namespace: color:blue Attributes with other_namespace as namespace: // Empty string means no attributes found.
Programa 2: En este ejemplo, comprobaremos si la función obtiene los últimos valores de atributo o no alterando el valor del atributo.
<?php // Create a new DOMDocument $dom = new DOMDocument(); // Create an element $node = $dom->createElementNS("my_namespace", "x:p", 'GeeksforGeeks'); // Add the node to the dom $newnode = $dom->appendChild($node); // Set the attribute with a namespace $newnode->setAttributeNS("my_namespace", "style", "color:blue"); echo "<b>Before:</b> <br>"; // Get the attribute value $attribute = $node->attributes->getNamedItemNS('my_namespace', 'style')->nodeValue; echo $attribute; // Change the attribute value $newnode->setAttributeNS("my_namespace", "style", "color:red"); echo "<br><b>After:</b> <br>"; // Get the attribute value $attribute = $node->attributes->getNamedItemNS('my_namespace', 'style')->nodeValue; echo $attribute; ?>
Producción:
Before: color:blue After: color:red
Referencia: https://www.php.net/manual/en/domnamednodemap.getnameditemns.php