-
- 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 ファイルを生成して読み込むことができます。
XML の読み取りおよび書き込み操作は、主に DOMDocument、DOMElement、および DOMNodeList を通じて実行されます。
以下は、参考のためにこれらのクラスの使用方法を紹介します。
1つ。 XMLファイルを生成します
XMLファイルの場合は以下のようになります。
-
- mysql データベースへの PHP アクセス主要記事
- < ;article>
- PHP を使用した MySql データベースへのアクセスに関する予備記事
- http://blog.csdn.net/morewindows/article/details/7102362
- 記事> ;
コードをコピー PHPで生成する方法を見てみましょう:
まず新しい DOMDocument オブジェクトを作成し、エンコード形式を設定します。
- $dom = newDOMDocument('1.0', 'UTF-8');
- $dom->formatOutput= true;
コードをコピー
ノードと
ノードを作成する
-
- $rootelement =$dom->createElement("article");
- $title =$dom->createElement("title", "PHP Access MySql Database Elementary Article");
コピー
をコーディングし、テキストコンテンツを含むノードを作成します
-
- $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($title);
- $rootelement->appendChild($link);
コードをコピーします
最後に、DOMDocument オブジェクトにノードを追加します。
-
- $dom->appendChild($rootelement);
コードをコピー
完全なXMLが生成されます。次に、XML 全体を再生成します。
saveXML() は、echo $dom->saveXML($link) のように XML テキストの一部のみを入力することもできます。これは node のみを出力します: http://blog.csdn.net/morewindows/article/詳細/7102362
以下は、PHP でデータ コンテンツを XML ファイルに出力する完全な例です。この例では、PHP 配列を XML ファイルに出力します。
-
- //配列を XML ファイルに出力します
- // by MoreWindows( http://blog.csdn.net/MoreWindows )
- $article_array = array(
- "First Article" = > array(
- "title"=>"MySql データベースへの最初の PHP アクセス",
- "link"=>"http://blog.csdn.net/morewindows/article/details/7102362"
- )、
- "パート 2" => array(
- "title"=>"MySql データベースへの PHP アクセスのための中間記事 Smarty テクノロジ",
- "link"=>"http://blog.csdn.net/morewindows/article /details/7094642"
- ),
- "パート 3" => array(
- "title"=>"PHP が MySQL データベースにアクセスするための高度な AJAX テクノロジ",
- "link"=>"http://blog .csdn.net/morewindows/article/details/7086524"
- ),
- );
- $dom = new 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) . 'bytes';
- ?>
コードをコピー
#----- - --------------
-
- //配列を XML ファイルに出力します
- // by MoreWindows( http://blog.csdn.net/MoreWindows )
- $article_array = array(
- "First Article" = > array(
- "title"=>"MySql データベースへの最初の PHP アクセス",
- "link"=>"http://blog.csdn.net/morewindows/article/details/7102362"
- )、
- "パート 2" => array(
- "title"=>"MySql データベースへの PHP アクセスのための中間記事 Smarty テクノロジ",
- "link"=>"http://blog.csdn.net/morewindows/article /details/7094642"
- ),
- "パート 3" => array(
- "title"=>"PHP が MySQL データベースにアクセスするための高度な AJAX テクノロジ",
- "link"=>"http://blog .csdn.net/morewindows/article/details/7086524"
- ),
- );
- $dom = new 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) . 'bytes';
- ?>
コードをコピーします
この PHP を実行すると、D ドライブに test.xml ファイルが生成されます (Win7 + XAMPP + IE9.0 テストに合格しました)
Ⅱ。 XML ファイルを読み取る
例として、前の記事で生成された D:test.xml を読んでみましょう。
-
-
//XML ファイルを読み取る - // by MoreWindows( http://blog.csdn.net/MoreWindows )
- $filename = "D:test.xml " ;
- $article_array = array();
$dom = new DOMDocument('1.0', 'UTF-8');
- $dom->load($filename);< ; /p>
//Getnode
- $articles = $dom->getElementsByTagName("article");
- echo 'ノード数' 。
- foreach ($articles as $article)
- {
- $id = $article->getElementsByTagName("id")->item(0)->nodeValue;
- $title = $article->gt ;getElementsByTagName(" title")->item(0)->nodeValue;
- $link = $article->getElementsByTagName("link")->item(0)->nodeValue;
- $article_array[ $id] = array('title'=>$title, 'link'=>$link);
- }
//出力結果
- echo "
"; Article_array);</li>
<li>echo " ";
- ?>
-
-
コードをコピー
#----------------- -------- ---
-
//XML ファイルを読み取る - // by MoreWindows( http://blog.csdn.net/MoreWindows )
- $filename = "D:test.xml " ;
- $article_array = array();
$dom = new DOMDocument('1.0', 'UTF-8');
- $dom->load($filename);< ; /p>
//Getnode
- $articles = $dom->getElementsByTagName("article");
- echo 'ノード数' 。
- foreach ($articles as $article)
- {
- $id = $article->getElementsByTagName("id")->item(0)->nodeValue;
- $title = $article->gt ;getElementsByTagName(" title")->item(0)->nodeValue;
- $link = $article->getElementsByTagName("link")->item(0)->nodeValue;
- $article_array[ $id] = array('title'=>$title, 'link'=>$link);
- }
//出力結果
- echo "
"; Article_array);</li>
<li>echo " ";
- ?>
-
-
-
コードをコピー
|