ホームページ >バックエンド開発 >PHPチュートリアル >DOM を使用して XML_PHP を制御する PHP5 のチュートリアル
php(現在の主流の開発言語として)5は、xml(標準化が近づいています)のサポートが強化されており、DOMを使用してxml(標準化が近づいています)の操作機能を拡張しています。これらの関数は php(現在主流の開発言語)5 のコアの一部であり、インストールせずに使用できます。
次の例は、xml 上の DOM の操作を簡単に示しています (標準化が近づいています) 詳細な説明については、コード内のコメントを参照してください
/**************************************************
* * php(現在の主流の開発言語として)でxml(標準化が近づいています)を使用5
** 参考サイト:
** http://cn.php(現在の主流の開発言語として) .net/manual/zh/ref.dom.php(現在の主流の開発言語として)
** 以下のコードにはphp(現在の主流の開発言語として)が必要です5のサポート
*** *** ******************************************/
。 //まず DOMDocument オブジェクトを作成します
$dom = new DomDocument();
//次に、xmlをロードします(標準化が近づいています)file
$dom ->load("test.xml(標準化が近づいています) close)");
//出力xml(標準化が近づいています)File
//header("Content-type: text/xml(標準化が近づいています); charset=gb2312");
//echo $dom -> savexml(標準化が近づいています)();
//xml(標準化が近づいています)ファイルを保存、戻り値はint(バイト単位のファイルサイズ)です
//$ dom -> save("newfile.xml(標準化は近づいています)");
echo "
/*
echo "
さらに詳しく見ると次のようになります:
/rss/channel/item[position( ) = 1]/title 最初に戻る item 要素のすべての
/rss/channel/item/title[@id = 23] は、id 属性を含むすべてのタイトルを返し、値は 23 です
/rss/channel/&folder&/ title すべての記事要素の下のタイトルを返します (翻訳注: &folder& はディレクトリの深さを表します)
*/
//新しいデータを DOM に書き込みます
$item = $dom->createElement("item");
$title = $ dom->createElement("title ");
$titleText = $dom->createTextNode("タイトルテキスト");
$title->appendChild($titleText);
$item->appendChild($title);
$ dom->documentElement->getElementsByTagName (channel)->item(0)->appendChild($item);
//$dom->documentElement->RemoveChild($dom->documentElement- >getElementsByTagName("channel" )->item(0));
//または、xpath を使用してノードをクエリし、ノードを削除します
//$dom->documentElement->RemoveChild($xpath->query("/rss/ channel")->item(0 ));
//$dom->save("newfile.xml
(標準化が近づいています)
");
//DOM からノード データを変更します
//ここは愚かなので、新しいノードを作成して、古いノードを置き換えます。他に良い方法があれば教えてください