DOMNode::C14N
  Canonicalize nodes to a string
  
 
  Description
  
   public stringfalse DOMNode::C14N(
    bool $exclusive = false,
    bool $withComments = false,
    arraynull $xpath = null,
    arraynull $nsPrefixes = null
)
  
  
 
  Parameters
  
   
    - 
exclusive 
    - 
     
      Enable exclusive parsing of only the nodes matched by the provided
      xpath or namespace prefixes.
     
     
   
   
    - 
withComments 
    - 
     
      Retain comments in output.
     
     
   
   
    - 
xpath 
    - 
  
   An array of XPaths to filter the nodes by.
   Each entry in this array is an associative array with:
   
    - 
     
      A required 
query key containing the XPath expression as a string.
     
     
    - 
     
      An optional 
namespaces key containing an array that maps namespace prefixes (keys) to namespace URIs (values).
     
     
   
  
  
   
   
    - 
nsPrefixes 
    - 
     
      An array of namespace prefixes to filter the nodes by.
     
     
   
  
  
 
  Return Values
  
   Returns canonicalized nodes as a string or false on failure
  
  
 
  Examples
  
   
    Example #1 Example with XPath query
    
     This example demonstrates advanced usage canonicalizing and filtering the nodes by an XPath query.
    
 
    
<?php
$dom = new DOMDocument();
$dom->loadXML(<<<XML
<root xmlns:food="urn:food">
    <!-- redundant namespace declaration will be canonicalized -->
    <food:fruit xmlns:food="urn:food">Apple</food:fruit>
    <food:fruit>Orange</food:fruit>
    <food:fruit>Pear</food:fruit>
    <!-- vegetables here -->
    <food:vegetable>Lettuce</food:vegetable>
</root>
XML);
echo $dom->C14N(true, false, [
    "query" => ".//f:fruit|.//f:fruit/text()",
    "namespaces" => ["f" => "urn:food"],
]);
?>
 
     
    The above example will output:
 
    
<food:fruit>Apple</food:fruit><food:fruit>Orange</food:fruit><food:fruit>Pear</food:fruit>