ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルを使用して XML ファイルを読み書きするためのヒント
一般的に使用される行は次のとおりです:
header("content-type:text/html; charset=utf-8"); //UTF-8 エンコーディングを使用するように PHP を指定します
$xml = simplexml_load_file("example.xml") //xml ファイルを読み込みます
$newxml = $xml->asXML() // $xml を標準化します
;
$fp = fopen("newxml.xml", "w"); // 新しい XML ファイル
fwrite($fp, $newxml); // -------xml ファイルを書き込みます
fclose($fp);
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 = array(「最初の記事」 => 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 テストに合格しました)
例として、前の記事で生成された D:test.xml を読んでみましょう:
[php] //XML ファイルを読み込みます
// 投稿者 MoreWindows( http://blog.csdn.net/MoreWindows )
$ファイル名 = "D:test.xml";
$article_array = 配列();
$dom = 新しい DOMDocument('1.0', 'UTF-8');
$dom->load($ファイル名);
//
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);
}
//結果を出力する
エコー "";
var_dump($article_array) <br>
エコー "
";
?>
//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 '
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);</p> echo "";
?>
http://www.bkjia.com/PHPjc/371866.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/371866.html
技術記事
次の行がよく使用されます: header(content-type:text/html; charset=utf-8); //UTF-8 エンコーディングを使用するように PHP を指定します $xml = simplexml_load_file(example.xml); //xml ファイルを読み取りますnewxml = $xml-asXML(...