【PHP8.x】C14NFileメソッドの使い方

C14NFileメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

DOMCharacterData::C14NFileメソッドは、ノードをCanonical XML形式でファイルにシリアライズするメソッドです。具体的には、DOMCharacterDataノードの内容を、C14N(Canonical XML)の仕様に従って正規化された形式で指定されたファイルに書き出します。C14NはXML文書を標準的な形式に変換するための規格であり、これによってXML文書の比較やデジタル署名が容易になります。

このメソッドは、uri パラメータで指定されたファイルパスに、正規化されたXMLデータを書き込みます。exclusive パラメータは、排他的なC14N形式を使用するかどうかを指定します。with_comments パラメータは、コメントを含めるかどうかを指定します。xpath パラメータは、ノードのサブセットを選択するために使用できるXPath式の配列です。ns_prefixes パラメータは、名前空間プレフィックスの配列です。

C14NFileメソッドは、XMLデータの永続化や、異なるシステム間でのXMLデータの交換において、データの整合性を保つために役立ちます。特に、セキュリティが重要なアプリケーションや、XML署名を使用する場合には、C14Nによってデータの改ざんを防止できます。このメソッドを使用することで、開発者はC14Nの複雑な処理を意識することなく、簡単にXMLデータを正規化し、ファイルに保存することができます。

構文(syntax)

1DOMCharacterData::C14NFile( string $uri, bool $exclusive = false, bool $with_comments = false, array $xpath = null, string $ns_prefixes = null ): bool

引数(parameters)

string $uri, bool $exclusive = false, bool $with_comments = false, ?array $xpath = null, ?array $ns_prefixes = null

  • string $uri: 正規化するXMLドキュメントのURIを指定します。
  • bool $exclusive = false: 排他的正規化を行うかどうかを指定します。デフォルトはfalseです。
  • bool $with_comments = false: コメントを含めて正規化するかどうかを指定します。デフォルトはfalseです。
  • ?array $xpath = null: XPath式を指定して、正規化するノードを限定します。デフォルトはnullで、ドキュメント全体が対象です。
  • ?array $ns_prefixes = null: 名前空間プレフィックスの配列を指定して、正規化時に考慮される名前空間を限定します。デフォルトはnullで、すべての名前空間が対象です。

戻り値(return)

bool

このメソッドは、DOMCharacterDataノードを正規化してファイルに保存したかどうかを示す真偽値を返します。操作が成功した場合はtrue、失敗した場合はfalseを返します。

【PHP8.x】C14NFileメソッドの使い方 | いっしー@Webエンジニア