PHP | Función DOMNamedNodeMap getNamedItemNS()

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

Publicación traducida automáticamente

Artículo escrito por gurrrung y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *