PHP | DOMDocument getElementsByTagnameNS() Función

La función DOMDocument::getElementsByTagNameNS() es una función incorporada en PHP que se usa para buscar todos los elementos con el nombre de etiqueta dado en el espacio de nombres especificado.

Sintaxis: 

DOMNodeList DOMDocument::getElementsByTagNameNS( 
            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 el URI del espacio de nombres de los elementos para hacer coincidir y * coincide con todos los espacios de nombres.
  • $localName : especifica el nombre local de los elementos con los que coincidir y * coincide con todos los nombres locales.

Valor devuelto: esta función devuelve una DOMNodeList de todos los elementos con un nombre local determinado y un URI de espacio de nombres.

Los programas dados a continuación ilustran la función DOMDocument::getElementsByTagNameNS() en PHP:

Programa 1: en este ejemplo, obtendremos el nombre local y el prefijo de los elementos con un espacio de nombres específico. 

PHP

<?php
// Create an XML
$xml = <<<EOD
<?xml version="1.0" ?>
<!-- this is the namespace -->
<chapter xmlns:xi="my_namespace">
<title>Books of the other guy..</title>
<para>
    <xi:include>
        <xi:fallback>
        </xi:fallback>
    </xi:include>
</para>
</chapter>
EOD;
 
$dom = new DOMDocument;
  
// Load the XML string defined above
$dom->loadXML($xml);
  
// Use getElementsByTagName to get
// the elements from xml
foreach ($dom->getElementsByTagNameNS(
        'my_namespace', '*') as $element) {
    echo '<b>Local name:</b> ',
        $element->localName,
        ', <b>Prefix: </b>',
        $element->prefix, "<br>";
}
 
?>

Producción: 

Local name: include, Prefix: xi
Local name: fallback, Prefix: xi

Programa 2: en este ejemplo, obtendremos la cantidad de elementos de un determinado espacio de nombres. 

PHP

<?php
// Create an XML
$xml = <<<EOD
<?xml version="1.0" ?>
<!-- this is the namespace -->
<chapter xmlns:xi="my_namespace">
<title>Books of the other guy..</title>
<para>
    <xi:include>        <!--  1st -->
        <xi:fallback>   <!--  2nd -->
        </xi:fallback>
    </xi:include>
    <xi:include>        <!--  3rd -->
        <xi:fallback>   <!--  4th -->
        </xi:fallback>
    </xi:include>
</para>
</chapter>
EOD;
  
$dom = new DOMDocument();
  
// Load the XML string defined above
$dom->loadXML($xml);
  
// It will count all occurrence of
// xi inside my_namespace
$elements = $dom->getElementsByTagNameNS(
            'my_namespace', '*');
 
print_r($elements->length);
?>

Producción: 

4

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