DOMNode::C14N

Canonicalize nodes to a string

&reftitle.description; public ``string``false```DOMNode::C14N` `bool` `exclusive`&false; `bool` `withComments`&false; ``array``null```xpath`&null; ``array``null```nsPrefixes`&null;

Canonicalize nodes to a string

&reftitle.parameters;

`exclusive`

- Enable exclusive parsing of only the nodes matched by the provided xpath or namespace prefixes.

`withComments`

- Retain comments in output.

`xpath`

&dom.c14n.xpath_array;

`nsPrefixes`

- An array of namespace prefixes to filter the nodes by.

&reftitle.returnvalues;

Returns canonicalized nodes as a string&return.falseforfailure;

&reftitle.examples;

### 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"],
    ]);
    ?>

&example.outputs;

    <food:fruit>Apple</food:fruit><food:fruit>Orange</food:fruit><food:fruit>Pear</food:fruit>

&reftitle.seealso;

- `DOMNode::C14NFile`