La función DOMNode::C14NFile() es una función incorporada en PHP que se usa para canonicalizar los Nodes en un archivo.
Sintaxis:
int DOMNode::C14NFile( string $uri, bool $exclusive, bool $with_comments, array $xpath, array $ns_prefixes )
Parámetros: esta función acepta cinco parámetros, como se mencionó anteriormente y se describe a continuación:
- $uri (Opcional): Especifica la ruta para escribir la salida.
- $exclusive (opcional): especifica si habilitar el análisis exclusivo solo de los Nodes que coincidan con los prefijos de espacio de nombres o xpath proporcionados.
- $with_comments (Opcional): Especifica si conservar los comentarios en la salida.
- $xpath (opcional): especifica una array de xpaths para filtrar los Nodes.
- $ns_prefixes (opcional): especifica una array de prefijos de espacio de nombres para filtrar los Nodes.
Valor devuelto: esta función devuelve el número de bytes escritos o FALSO en caso de falla
Los siguientes ejemplos ilustran la función DOMNode::C14NFile() en PHP:
Ejemplo 1: en este ejemplo, guardaremos el contenido del DOM en forma de string en un archivo sin comentarios
<?php // Create a DOMDocument $doc = new DOMDocument(); // Load XML $doc->loadXML('<html></html>'); // Create an heading element on DOMDocument object $h1 = $doc->createElement('h1'); // Append the child $doc->documentElement->appendChild($h1); // Save the data without comments $stringdata = $doc->C14NFile('new.txt'); ?>
Salida: Esto creará un archivo new.txt con el siguiente contenido de texto
<html><h1></h1></html>
Ejemplo 2: En este ejemplo, guardaremos el contenido DOM en forma de string en un archivo con comentarios.
<?php // Create a DOMDocument $doc = new DOMDocument(); // Load XML $doc->loadXML('<html><!-- This is a comment --></html>'); // Create an heading element on DOMDocument object $h1 = $doc->createElement('h1'); // Append the child $doc->documentElement->appendChild($h1); // Save the data with comments $stringdata = $doc->C14NFile('new.txt', false, true); ?>
Salida: Esto creará un archivo new.txt con el siguiente contenido de texto
<html><!-- This is a comment --><h1></h1></html>
Referencia: https://www.php.net/manual/en/domnode.c14nfile.php