DOMNode::C14N
PHP Manual
PHP Manual»DOMNode»DOMNode::C14N

DOMNode::C14N

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DOMNode::C14NCanonicalize nodes to a string

Опис

public function DOMNode::C14N(
    bool $exclusive = false,
    bool $withComments = false,
    ?array $xpath = null,
    ?array $nsPrefixes = null
): string|false

Canonicalize nodes to a string

Параметри

exclusive

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

withComments

Retain comments in output.

xpath

Масив XPath-шляхів для фільтації шляхів. Кожен елемент в ньому — це асоціативний масив, що містить:

  • Обов'язковий елемент з ключем query та значенням виразу XPath у вигляді рядка.
  • Необов'язковий елемент з ключем namespaces та значенням, що є масивом, де зіставлено префікси простору імен (ключі) з URI простору імен (значення).

nsPrefixes

An array of namespace prefixes to filter the nodes by.

Значення, що повертаються

Returns canonicalized nodes as a string або false в разі помилки

Приклади

Приклад #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"],
]);
?>

Поданий вище приклад виведе:

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

Прогляньте також

To Top