現在の位置: ホーム> 最新記事一覧> PHP操作XMLの詳細な説明:作成、解析、共通操作に関する完全なチュートリアル

PHP操作XMLの詳細な説明:作成、解析、共通操作に関する完全なチュートリアル

gitbox 2025-08-05

導入

XML(拡張可能なマークアップ言語)は、データを記述および転送するための一般的な形式です。サーバー側の共通言語として、PHPはXMLを処理するための豊富な機能を提供し、アプリケーション間のデータの交換と保存に便利です。

XMLの基本

XML構文

XML構造は、タグ、要素、属性で構成されています。ラベルは角度ブラケットに包まれています。 。要素は、開始ラベルとエンドラベルで構成されています。コンテンツ。属性追加情報は、次の要素になりますコンテンツ。 XMLは、コメントとドキュメントタイプの宣言もサポートしています。

XMLドキュメントを作成します

PHPでは、DOM拡張機能を使用してXMLドキュメントを作成できます。 domdocumentオブジェクトをインスタンス化し、その方法を呼び出して要素と属性を追加することにより、完全なXMLファイルが最終的に生成されます。

 
$doc = new DOMDocument('1.0', 'UTF-8');
$root = $doc->createElement('root');
$element = $doc->createElement('element', 'Hello World');
$element->setAttribute('attribute', 'value');
$root->appendChild($element);
$doc->appendChild($root);
$doc->formatOutput = true;
$doc->save('output.xml');

上記のコードは、簡単なXMLドキュメントを作成し、ファイルとして保存する方法を示しています。

XMLドキュメントの解析

また、domdocumentを使用して、既存のXMLファイルまたは文字列をロードしたり、ノードとプロパティを読み取りしたり、読み取りしたりできます。

 
$doc = new DOMDocument();
$doc->load('input.xml');
$root = $doc->documentElement;
$elements = $root->getElementsByTagName('element');
foreach ($elements as $element) {
    $content = $element->nodeValue;
    $attribute = $element->getAttribute('attribute');
    echo "Content: $content, Attribute: $attribute \n";
}

コードの例は、XMLの要素を通過し、コンテンツとプロパティを出力します。

一般的なXML操作

要素を作成します

CreateElementメソッドを使用して新しい要素を作成し、そのコンテンツとプロパティを設定します。

 
$element = $doc->createElement('element', 'Content');
$element->setAttribute('attribute', 'value');

要素を追加します

AppendChildを介して親要素に子要素を追加します。

 
$root->appendChild($element);

要素を削除します

RemoveChildメソッドを使用して、親ノードから指定された要素を削除します。

 
$parent->removeChild($element);

要素を変更します

要素コンテンツと属性値を直接変更します。

 
$element->nodeValue = 'New Content';
$element->setAttribute('attribute', 'new value');

クエリ要素

getElementsByTagnameを使用して、タグ名に基づいて要素コレクションを見つけます。

 
$elements = $doc->getElementsByTagName('element');
foreach ($elements as $element) {
    // 処理要素
}

要約します

この記事では、作成と解析から要素の追加、削除、修正、検索に対応するPHP動作XMLのコアメソッドを体系的に紹介します。これらのテクノロジーを習得した後、XMLデータを柔軟に処理し、多様なアプリケーションシナリオを実現できます。