ホームページ  >  記事  >  php教程  >  PHP DOM-XML を使用して XML ファイルを作成および解析する

PHP DOM-XML を使用して XML ファイルを作成および解析する

WBOY
WBOYオリジナル
2016-06-21 09:09:311220ブラウズ

dom|xml|作成

/**
* トピック: PHP DOM-XML を使用した XML ファイルの作成と解析
* 出典: http://www.php.net/domxml
* 参考資料: http://www.zugeschaut-und-mitgebaut.de/php/extension .domxml.html
* 著者: urs@circle.ch、2001 年 1 月 16 日
*
*/
// PHP DOM-XML を使用して XML ファイルを作成および解析します
// 後続の処理はこれに基づいて行われます
$doc = new_xmldoc( "1.0 " );

//ルートノードを作成し、属性を設定します
$root = $doc->add_root("faq" );
$root->setattr("page", "32" );

//子ノード
$one = $root->new_child("question", "");
//子ノードの属性を設定します
$one->setattr("number", "1"); /question は子ノードも作成し、それに値を割り当てます
$one->new_child("text", "1. libxml-2.0.0 はどこで入手できますか?"); , "libxml の最新リリースは、ソース アーカイブまたは
RPM パッケージとして http://www.xmlsoft.org からダウンロードできます。
現在のバージョンは libxml2-2.2.1 です。" ); $root->new_child("question", "" );
$two->setattr("number", "2");
$two->new_child("text", "2. 設定方法PHP4?" );
// 直接代入せずにノードを作成します
$twoone = $two->new_child("answer", "");
// 次に、別の値を割り当てます
$twoone->set_content ( "DIR は libxml インストール ディレクトリです
( --with-dom を使用するだけの場合は、デフォルトで /usr になります)、 --with-dom=/usr/local を使用する必要がありました" ); ->new_child("question", "" );
$three->setattr("number", "7" );
$three->new_child("text", "7. DOM XML の使用方法function ?" );
$three->new_child("answer", "
簡単な例については、このドキュメント ソースをお読みください。" );

//ブラウザに出力
print("

".htmlspecialchars ( $doc->dumpmem() )."
);

// ファイルに書き込む
// ファイルに書き戻す
$fp = fopen("test_dom.xml", "w+" ) ;
fwrite($fp, $doc->dumpmem(), strlen($doc->dumpmem() ));

// ---------- - -------------------------------------------------
//Xpath を使用して XML ドキュメントからコンテンツを取得します

$doc(join("", file("test_dom.xml")) );
$ctx = xpath_new_context($doc ); $foo = xpath_eval ($ctx, "//child::*");
print_r($foo);
//テキスト ノード オブジェクト
$foo = xpath_eval($ctx, "//text");
print_r($foo);
// 最初のテキスト ノード オブジェクト
$foo = xpath_eval($ctx, "//text[1]");
print_r($foo);
// 2 番目のテキストノードオブジェクト
$foo = xpath_eval($ctx, "//text[2]");
print("

");いいえ、3 つの応答オブジェクト
$foo = xpath_eval($ctx, "//answer[3]");
print_r($foo);

//3 番目のテキスト ノードのタイプ、名前、内容
$foo = xpath_eval($ctx, "//text[3]");
$tmp = $foo->nodeset; ) ;
print("
");
print($tmp[0]->type) . "; " ;
print($tmp[0]->content);

?> PHP DOM は PHP PHP4.0.x + linux でのみ実行できることに注意してください






声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。