PHP | Función DOMXPath consulta()

La función DOMXPath::query() es una función incorporada en PHP que se usa para evaluar la expresión XPath dada.

Sintaxis:

DOMNodeList DOMXPath::query( string $expression, 
       DOMNode $contextnode, bool $registerNodeNS )

Parámetros: esta función acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:

  • $expresión: Especifica la expresión XPath a ejecutar.
  • $contextnode (Opcional): Especifica el contextnode opcional para realizar consultas XPath relativas. De forma predeterminada, las consultas son relativas al elemento raíz.
  • $registerNodeNS (Opcional): Especifica el registerNodeNS opcional para deshabilitar el registro automático del Node de contexto.

Valor devuelto: esta función devuelve una DOMNodeList que contiene todos los Nodes que coinciden con la expresión XPath dada. Cualquier expresión que no devuelva Nodes devolverá una DOMNodeList vacía.

Los siguientes programas ilustran la función DOMXPath::query() en PHP:

Programa 1: En este programa buscaremos todos los valores de elementos de elementos con contenido de nombre.

<?php
  
// Create a new DOMDocument instance
$document = new DOMDocument();
  
// Create a XML
$xml = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<root>
    <content>
        First
    </content>
    <content>
        Second
    </content>
    <content>
        Third
    </content>
</root>
XML;
  
// Load the XML
$document->loadXML($xml);
  
// Create a new DOMXPath instance
$xpath = new DOMXPath($document);
  
// Get the root element
$tbody = $document->getElementsByTagName('root')->item(0);
  
// Get all the element with name content
$query = '//content';
  
// Execute the query
$entries = $xpath->query($query);
  
foreach ($entries as $entry) {
    echo $entry->nodeValue . "<br>";
}
?>

Producción:

First
Second
Third

Programa 2: En este programa contaremos todos los elementos con nombre h1.

<?php
// Create a new DOMDocument instance
$document = new DOMDocument();
  
// Create a XML
$xml = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<root>
    <h1>
        Hello
    </h1>
    <h1>
        World
    </h1>
    <h1>
        Foo
    </h1>
    <h1>
        Bar
    </h1>
</root>
XML;
  
// Load the XML
$document->loadXML($xml);
  
// Create a new DOMXPath instance
$xpath = new DOMXPath($document);
  
// Get the root element
$tbody = $document->getElementsByTagName('root')->item(0);
  
// Get all the element with name h1
$query = '//h1';
  
// Execute the query
$entries = $xpath->query($query);
  
// Count the number of headings
echo count($entries);
?>

Producción:

4

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