【PHP8.x】C14NFileメソッドの使い方
C14NFileメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Dom\NodeクラスのC14NFileメソッドは、ノードのサブツリーを、指定されたファイルにC14N(Canonical XML)形式でシリアライズするメソッドです。C14Nは、XMLドキュメントを正規化するための標準化されたプロセスであり、異なるシステム間でXMLドキュメントの一貫性を保証するために使用されます。
このメソッドは、指定されたノードをルートとするサブツリーをC14N形式に変換し、その結果を指定されたファイルに書き込みます。ファイルパスは引数として指定します。C14N形式で保存することで、XMLドキュメントの改行、属性の順序、名前空間の宣言などの差異を正規化し、内容が同じであれば常に同じバイト列として表現できます。
C14NFileメソッドは、XMLドキュメントの署名や暗号化、または異なるシステム間でのXMLデータの比較など、XMLドキュメントの整合性が重要な場合に役立ちます。また、ファイルへの書き込みだけでなく、オプションで排他的C14Nやコメントの保持など、C14Nのオプションを指定することも可能です。これにより、より詳細な制御が可能になり、特定の要件を満たすC14N形式でXMLドキュメントを保存することができます。
システムエンジニアは、このメソッドを使用することで、XMLドキュメントを標準化された形式で保存し、異なるシステム間での相互運用性を高めることができます。
構文(syntax)
1Dom\Node::C14NFile(string $uri, bool $exclusive = false, bool $with_comments = false, array $xpath = null, ?string $nsPrefix = null): bool
引数(parameters)
string $uri, bool $exclusive = false, bool $withComments = false, ?array $xpath = null, ?array $nsPrefixes = null
- string $uri: 正規化するXMLファイルのURIを指定します。
- bool $exclusive = false: trueを指定すると、排他的正規化モードで処理します。
- bool $withComments = false: trueを指定すると、コメントノードも正規化対象に含めます。
- ?array $xpath = null: 正規化対象をXPath式で指定する配列。nullの場合はドキュメント全体が対象です。
- ?array $nsPrefixes = null: 名前空間プレフィックスとURIの連想配列。nullの場合は認識されたすべての名前空間が対象です。
戻り値(return)
int|false
このメソッドは、XMLノードを正規化してファイルに保存したバイト数を返します。処理に失敗した場合は false を返します。