ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルを使用した XML ファイルの読み取りと書き込み
PHP は XML ファイルを簡単に生成して読み取ることができます。 PHP は主に、DOMDocument、DOMElement、および DOMNodeList を通じて XML の読み取りおよび書き込み操作を完了します。以下に、これらのクラスの使用方法を簡単に説明します。
1. XMLファイルを生成します
XMLファイルの場合は以下のようになります。
[html]
;
<記事>
$dom->formatOutput= true;
$rootelement =$dom->createElement("article");
$title =$dom->createElement("title", "PHP Access MySql データベース - 初級");
次に、テキストコンテンツを含むノードを作成します
$link =$dom->createElement("link","http://blog.csdn.net/morewindows/article/details/7102362");
最初に ノードを生成してから、そこにテキスト コンテンツを追加することもできます。
$link = $dom->createElement("link");
$linktext =$dom->createTextNode('http://blog.csdn.net/morewindows/article/details/7102362');
$link->appendChild($linktext);
次に、
$rootelement->appendChild($link);
最後に、
$dom->appendChild($rootelement);
完全な XML が生成されます。次に、XML 全体を再生成します
echo $dom->saveXML() ;
saveXML() は XML テキストの一部のみを入力することもできます。たとえば、echo $dom->saveXML($link); は http://blog.csdn のみを出力します。 .net/morewindows/article/details/7102362
以下は、PHP でデータ コンテンツを XML ファイルに出力する完全な例です。この例では、PHP 配列を XML ファイルに出力します。
[php]
//配列をXMLファイルに出力します
// 投稿者 MoreWindows( http://blog.csdn.net/MoreWindows )
$article_array = 配列(
「最初の記事」 =>
"title"=>"PHP を使用して MySql データベースにアクセスする - 初級",
"リンク"=>"http://blog.csdn.net/morewindows/article/details/7102362"
)、
「パート 2」 => array(
;
"title"=>"PHP Access MySql データベース中間 Smarty テクノロジー",
"リンク"=>"http://blog.csdn.net/morewindows/article/details/7094642"
)、
「パート 3」 => array(
;
"title"=>"PHP Access MySql データベース高度な AJAX テクノロジ",
"リンク"=>"http://blog.csdn.net/morewindows/article/details/7086524"
)、
);
$dom = 新しい DOMDocument('1.0', 'UTF-8');
$dom->formatOutput = true
$rootelement = $dom->createElement("MoreWindows");
foreach ($article_array as $key=>$value)
{
$article = $dom->createElement("article", $key);
$title = $dom->createElement("タイトル", $value['タイトル']);
$link = $dom->createElement("link", $value['link']);
$article->appendChild($title);
$article->appendChild($link);
$rootelement->appendChild($article);
}
$dom->appendChild($rootelement);
$ファイル名 = "D:\test.xml";
echo 'XML ファイル サイズ' . $dom->save($filename)
?>
//配列をXMLファイルに出力します
// 投稿者 MoreWindows( http://blog.csdn.net/MoreWindows )
$article_array = 配列(
「最初の記事」 => array(
"title"=>"PHP を使用して MySql データベースにアクセスする - 初級",
"link"=>"http://blog.csdn.net/morewindows/article/details/7102362"
)、
「パート 2」 => array(
"title"=>"PHP Access MySql データベース中間 Smarty テクノロジー",
"link"=>"http://blog.csdn.net/morewindows/article/details/7094642"
)、
「パート 3」 => array(
"title"=>"PHP Access MySql データベースの高度な AJAX テクノロジ",
"link"=>"http://blog.csdn.net/morewindows/article/details/7086524"
)、
);
$dom = 新しい DOMDocument('1.0', 'UTF-8');
$dom->formatOutput = true;
$rootelement = $dom->createElement("MoreWindows");
foreach ($article_array as $key=>$value)
{
$article = $dom->createElement("article", $key);
$title = $dom->createElement("title", $value['title']);
$link = $dom->createElement("link", $value['link']);
$article->appendChild($title);
$article->appendChild($link);
$rootelement->appendChild($article);
}
$dom->appendChild($rootelement);
$filename = "D:\test.xml";
echo 'XML ファイル サイズ' . $dom->save($filename) .
?>
この PHP を実行すると、D ドライブに test.xml ファイルが生成されます (Win7 + XAMPP + IE9.0 テストに合格しました)
2つ。 XMLファイルを読み取る
例として、前の記事で生成された D:\test.xml を読んでみましょう:
[php]
//读取XML文件
// By MoreWindows( http://blog.csdn.net/MoreWindows )
$filename = "D:\test.xml";
$article_array = 配列();
$dom = 新しい DOMDocument('1.0', 'UTF-8');
$dom->load($filename);
//獲得
$articles = $dom->getElementsByTagName("article");
echo '<記事> 点数 ' 。 $articles->length;
foreach ($articles を $article として)
{
$id = $article->getElementsByTagName("id")->item(0)->nodeValue;
$title = $article->getElementsByTagName("title")->item(0)->nodeValue;
$link = $article->getElementsByTagName("link")->item(0)->nodeValue;
$article_array[$id] = array('title'=>$title, 'link'=>$link);
}
//输出结果
echo ""; <br>
var_dump($article_array); <br>
echo "
";
?>
//XML文書を读取
// 投稿者 MoreWindows( http://blog.csdn.net/MoreWindows )
$filename = "D:\test.xml";
$article_array = array();
$dom = 新しい DOMDocument('1.0', 'UTF-8');
$dom->load($filename);
//
$articles = $dom->getElementsByTagName("article");
echo '<記事> 点数 ' 。 $articles->length;
foreach ($articles を $article として)
{
$id = $article->getElementsByTagName("id")->item(0)->nodeValue;
$title = $article->getElementsByTagName("title")->item(0)->nodeValue;
$link = $article->getElementsByTagName("link")->item(0)->nodeValue;
$article_array[$id] = array('title'=>$title, 'link'=>$link);
}
//输出结果
echo "
";<br> var_dump($article_array);<br> echo "";
もっとWindows