Open In App

PHP | DOMNode C14NFile() Function

Improve
Improve
Like Article
Like
Save
Share
Report

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



Last Updated : 26 Feb, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads