(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DOMNode::C14N — Canoniza nodos en una cadena
$exclusive = false,$withComments = false,$xpath = null,$nsPrefixes = nullCanoniza nodos en una cadena de caracteres.
exclusiveActiva el análisis de los únicos nodos correspondientes al XPath o a los prefijos de espacio de nombres proporcionados.
withCommentsConserva los comentarios en la salida.
xpathUn array de XPaths para filtrar los nodos. Cada entrada en este array es un array asociativo con :
query requerida que contiene la expresión XPath como cadena de caracteres.
namespaces opcional que contiene un array que mapea los prefijos del espacio de nombres (claves) a los URI del espacio de nombres (valores).
nsPrefixesUn array de prefijos de espacios de nombres utilizados para filtrar los nodos.
Ejemplo #1 Ejemplo con una consulta XPath
Este ejemplo demuestra un uso avanzado mediante la canonicalización y el filtrado de nodos a través de una consulta XPath.
<?php
$dom = new DOMDocument();
$dom->loadXML(<<<XML
<root xmlns:food="urn:food">
<!-- declaración de espacio de nombres redundante que será canonizada -->
<food:fruit xmlns:food="urn:food">Pomme</food:fruit>
<food:fruit>Orange</food:fruit>
<food:fruit>Poire</food:fruit>
<!-- vegetales aquí -->
<food:vegetable>Laitue</food:vegetable>
</root>
XML);
echo $dom->C14N(true, false, [
"query" => ".//f:fruit|.//f:fruit/text()",
"namespaces" => ["f" => "urn:food"],
]);
?>El ejemplo anterior mostrará :
<food:fruit>Pomme</food:fruit><food:fruit>Orange</food:fruit><food:fruit>Poire</food:fruit>