La función DOMXPath::registerNamespace() es una función incorporada en PHP que se usa para registrar el URI del espacio de nombres y el prefijo con el objeto DOMXPath.
Sintaxis:
bool DOMXPath::registerNamespace( string $prefix, string $namespaceURI )
Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- $prefijo: Especifica el prefijo.
- $namespaceURI: Especifica la URI del espacio de nombres.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito o FALSO en caso de error.
Los siguientes programas ilustran la función DOMXPath::registerNamespace() en PHP:
Programa 1:
<?php // Create a new DOMDocument instance $document = new DOMDocument(); // Create a XML $xml = <<<XML <?xml version="1.0" encoding="UTF-8"?> <body xmlns="geeksforgeeks" > <h1>Hello</h1> </body> XML; // Load the XML $document->loadXML($xml); // Create a new DOMXPath instance $xpath = new DOMXPath($document); // Register namespace with prefix // x and wrong URI $xpath->registerNamespace('x', 'geeksforgeeksnew'); // Use the prefix to create a query // to get the text in h1 $query = '//x:body/x:h1/text()'; // Execute the query $entries = $xpath->evaluate($query); // Count the output echo count($entries) . "\n"; ?>
Producción:
0
Programa 2:
<?php // Create a new DOMDocument instance $document = new DOMDocument(); // Create a XML $xml = <<<XML <?xml version="1.0" encoding="UTF-8"?> <body xmlns="geeksforgeeks" > <h1>Hello</h1> </body> XML; // Load the XML $document->loadXML($xml); // Create a new DOMXPath instance $xpath = new DOMXPath($document); // Register namespace with prefix x $xpath->registerNamespace('x', 'geeksforgeeks'); // Use the prefix to create a query // to get the text in h1 $query = '//x:body/x:h1/text()'; // Execute the query $entries = $xpath->evaluate($query); // View the text echo $entries->item(0)->nodeValue . "\n"; ?>
Producción:
Hello
Referencia: https://www.php.net/manual/en/domxpath.registernamespace.php