PHP | Función DOMElement hasAttributeNS()

La función DOMElement::hasAttributeNS() es una función incorporada en PHP que se usa para saber si el atributo en un espacio de nombres específico llamado localName existe como miembro del elemento o no.

Sintaxis:

bool DOMElement::hasAttributeNS( 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 VERDADERO en caso de éxito o FALSO en caso de error.

Los siguientes ejemplos ilustran la función DOMElement::hasAttributeNS() en PHP:

Ejemplo 1:

<?php
   
// Create a new DOMDocument
$dom = new DOMDocument();
   
// Load the XML
$dom->loadXML("<?xml version=\"1.0\"?>
<root>
    <div xmlns:x=\"my_namespace\">
        <x:h1 x:style=\"color:red;\">
        Hello, this is my red heading.
        </x:h1>
        <x:h1 x:style=\"color:green;\">
        Hello, this is my green heading. 
        </x:h1>
        <x:h1 x:style=\"color:blue;\"> 
        Hello, this is my blue heading.
        </x:h1>
    </div>
    <div xmlns:y=\"another_namespace\">
        <y:h1> Hello, this is my new red heading. </y:h1>
        <y:h1> Hello, this is my new green heading. </y:h1>
        <y:h1> Hello, this is my new blue heading. </y:h1>
    </div>
</root>");
   
// Get the elements
$nodeList = $dom->getElementsByTagName('h1');
   
$i = 0;
   
foreach ($nodeList as $node) {
    if($node->hasAttributeNS('my_namespace', 'style')) {
        $i++;
    }
}
echo "Yes, there are total of $i style 
               attributes inside my_namespace";
?>

Producción:

Yes, there are total of 3 style attributes inside my_namespace.

Ejemplo 2:

<?php
  
// Create a new DOMDocument
$dom = new DOMDocument();
  
// Load the XML
$dom->loadXML("<?xml version=\"1.0\"?>
<root>
    <div xmlns:x=\"my_namespace\">
        <x:h1 x:id=\"color:red;\"> 1 </x:h1>
        <x:h1 x:id=\"color:green;\"> 2 </x:h1>
        <x:h1 x:id=\"color:blue;\"> 3 </x:h1>
    </div>
    <div xmlns:y=\"another_namespace\">
        <y:h1> 1 </y:h1>
        <y:h1> 2 </y:h1>
        <y:h1> 3 </y:h1>
    </div>
</root>");
  
// Get the elements
$nodeList = $dom->getElementsByTagName('h1');
  
$i = 0;
  
foreach ($nodeList as $node) {
    if($node->hasAttributeNS('another_namespace', 'id')) {
        $i++;
    }
}
echo "There are total of $i id attributes
                         inside another_namespace.";
?>

Producción:

There are total of 0 id attributes inside another_namespace.

Referencia: https://www.php.net/manual/en/domelement.hasattributens.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 *