(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DOMNode::C14N — Canonicaliza nós para uma string
$exclusive = false,$withComments = false,$xpath = null,$nsPrefixes = nullCanonicaliza nós para uma string
exclusiveHabilita a análise exclusiva apenas dos nós correspondentes à expressão xpath fornecida ou aos prefixos de namespace.
withCommentsMantém comentários na saída.
xpathUm array de XPaths pelos quais os nós serão filtrados. Cada entrada neste array é um array associativo com:
query requerida, contendo a expressão XPath como uma string.
namespaces opcional, contendo um array que mapeia prefixos de namespaces (chaves) para URIs de namespaces (valores).
nsPrefixesUm array de prefixos de namespace para filtrar os nós.
Retorna nós canonizados como uma string ou false em caso de falha
Exemplo #1 Exemplo com consulta XPath
Este exemplo demonstra um uso avançado canonizando e filtrando os nós por um consulta XPath.
<?php
$dom = new DOMDocument();
$dom->loadXML(<<<XML
<root xmlns:comida="urn:comida">
<!-- declaração de namespace redundante será canonizada -->
<comida:fruta xmlns:comida="urn:comida">Maçã</comida:fruta>
<comida:fruta>Laranja</comida:fruta>
<comida:fruta>Pera</comida:fruta>
<!-- folhas aqui -->
<comida:folha>Alface</comida:folha>
</root>
XML);
echo $dom->C14N(true, false, [
"query" => ".//f:fruta|.//f:fruta/text()",
"namespaces" => ["f" => "urn:comida"],
]);
?>O exemplo acima produzirá:
<comida:fruta>Maçã</comida:fruta><comida:fruta>Laranja</comida:fruta><comida:fruta>Pera</comida:fruta>