The DOMNode::C14NFile() function is an inbuilt function in PHP which is used to canonicalize nodes to a file.
Syntax:
int DOMNode::C14NFile( string $uri, bool $exclusive, bool $with_comments, array $xpath, array $ns_prefixes )
Parameters: This function accepts five parameters as mentioned above and described below:
- $uri (Optional): It specifies the path to write the output to.
- $exclusive (Optional): It specifies whether to enable exclusive parsing of only the nodes matched by the provided xpath or namespace prefixes.
- $with_comments (Optional): It specifies whether to retain comments in output.
- $xpath (Optional): It specifies an array of xpaths to filter the nodes by.
- $ns_prefixes (Optional): It specifies an array of namespace prefixes to filter the nodes by.
Return Value: This function returns the number of bytes written or FALSE on failure
Below examples illustrate the DOMNode::C14NFile() function in PHP:
Example 1: In this example, we will save the DOM content in the form of string to a file without comments
<?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' ); ?> |
Output:This will create a new.txt file with the following text content
<html><h1></h1></html>
Example 2: In this example, we will save the DOM content in the form of string to a file with comments.
<?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); ?> |
Output: This will create a new.txt file with the following text content
<html><!-- This is a comment --><h1></h1></html>
Reference: https://www.php.net/manual/en/domnode.c14nfile.php