ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルを使用した XML ファイルの読み取りと書き込み

PHP_PHP チュートリアルを使用した XML ファイルの読み取りと書き込み

WBOY
WBOYオリジナル
2016-07-13 17:48:291046ブラウズ

PHP は XML ファイルを簡単に生成して読み取ることができます。 PHP は主に、DOMDocument、DOMElement、および DOMNodeList を通じて XML の読み取りおよび書き込み操作を完了します。以下に、これらのクラスの使用方法を簡単に説明します。

1. XMLファイルを生成します
XMLファイルの場合は以下のようになります。

[html]
; <記事> PHP による MySql データベースへのアクセス - 初級レベル http://blog.csdn.net/morewindows/article/details/7102362
<記事>
PHP Access MySql データベース初級章
http://blog.csdn.net/morewindows/article/details/7102362

PHP を使用して生成する方法を見てみましょう:

まず新しい DOMDocument オブジェクトを作成し、エンコード形式を設定します。

$dom = newDOMDocument('1.0', 'UTF-8');

$dom->formatOutput= true;

ノードとノードを再度作成します</p> <p>$rootelement =$dom->createElement("article");</p> <p>$title =$dom->createElement("title", "PHP Access MySql データベース - 初級");</p> <p> </p> <p>次に、テキストコンテンツを含む<link>ノードを作成します</p> <p>$link =$dom->createElement("link","http://blog.csdn.net/morewindows/article/details/7102362");</p> <p>最初に <link> ノードを生成してから、そこにテキスト コンテンツを追加することもできます。 </p> <p>$link = $dom->createElement("link");</p> <p>$linktext =$dom->createTextNode('http://blog.csdn.net/morewindows/article/details/7102362');</p> <p>$link->appendChild($linktext);</p> <p> </p> <p>次に、<title> ノードと <link> を <article> ノードに追加します。 </p>$rootelement->appendChild($title);<p> </p>$rootelement->appendChild($link);<p> </p> <p> </p>最後に、<article> ノードを DOMDocument オブジェクトに追加します。 <p>$dom->appendChild($rootelement);</p> <p> </p> <p>完全な XML が生成されます。次に、XML 全体を再生成します </p> <p>echo $dom->saveXML() ;</p> <p>saveXML() は XML テキストの一部のみを入力することもできます。たとえば、echo $dom->saveXML($link); は <link>http://blog.csdn のみを出力します。 .net/morewindows/article/details/7102362</link></p> <p> </p> <p>以下は、PHP でデータ コンテンツを XML ファイルに出力する完全な例です。この例では、PHP 配列を XML ファイルに出力します。 </p> <p>[php] <?php <br /> //配列をXMLファイルに出力します <br /> // 投稿者 MoreWindows( http://blog.csdn.net/MoreWindows ) <br /> $article_array = 配列(<br /> 「最初の記事」 => "title"=>"PHP を使用して MySql データベースにアクセスする - 初級", <br> "リンク"=>"http://blog.csdn.net/morewindows/article/details/7102362" <br> )、<br> 「パート 2」 => array( <br>; "title"=>"PHP Access MySql データベース中間 Smarty テクノロジー", <br> "リンク"=>"http://blog.csdn.net/morewindows/article/details/7094642" <br> )、<br> 「パート 3」 => array( <br>; "title"=>"PHP Access MySql データベース高度な AJAX テクノロジ", <br> "リンク"=>"http://blog.csdn.net/morewindows/article/details/7086524" <br> )、<br> ); $dom = 新しい DOMDocument('1.0', 'UTF-8'); $dom->formatOutput = true <br> $rootelement = $dom->createElement("MoreWindows"); foreach ($article_array as $key=>$value) <br> { <br> $article = $dom->createElement("article", $key); $title = $dom->createElement("タイトル", $value['タイトル']); $link = $dom->createElement("link", $value['link']); $article->appendChild($title); $article->appendChild($link); $rootelement->appendChild($article); }<br> $dom->appendChild($rootelement); $ファイル名 = "D:\test.xml"; echo 'XML ファイル サイズ' . $dom->save($filename) <br> ?><br> <?php<br /> //配列をXMLファイルに出力します<br /> // 投稿者 MoreWindows( http://blog.csdn.net/MoreWindows )<br /> $article_array = 配列(<br /> 「最初の記事」 => array(<br /> "title"=>"PHP を使用して MySql データベースにアクセスする - 初級",<br> "link"=>"http://blog.csdn.net/morewindows/article/details/7102362"<br> )、<br> 「パート 2」 => array(<br> "title"=>"PHP Access MySql データベース中間 Smarty テクノロジー",<br> "link"=>"http://blog.csdn.net/morewindows/article/details/7094642"<br> )、<br> 「パート 3」 => array(<br> "title"=>"PHP Access MySql データベースの高度な AJAX テクノロジ",<br> "link"=>"http://blog.csdn.net/morewindows/article/details/7086524"<br> )、<br> );<br> $dom = 新しい DOMDocument('1.0', 'UTF-8');<br> $dom->formatOutput = true;<br> $rootelement = $dom->createElement("MoreWindows");<br> foreach ($article_array as $key=>$value)<br> {<br> $article = $dom->createElement("article", $key);<br> $title = $dom->createElement("title", $value['title']);<br> $link = $dom->createElement("link", $value['link']);<br> $article->appendChild($title);<br> $article->appendChild($link);<br> $rootelement->appendChild($article);<br> }<br> $dom->appendChild($rootelement);<br> $filename = "D:\test.xml";<br> echo 'XML ファイル サイズ' . $dom->save($filename) . ?><br> この PHP を実行すると、D ドライブに test.xml ファイルが生成されます (Win7 + XAMPP + IE9.0 テストに合格しました)<br> <br> <br> <br>2つ。 XMLファイルを読み取る <br> 例として、前の記事で生成された D:\test.xml を読んでみましょう: <br></p> <p>[php] <?php <br> //读取XML文件 <br> // By MoreWindows( http://blog.csdn.net/MoreWindows ) <br> $filename = "D:\test.xml"; <br> $article_array = 配列(); <br>  <br> $dom = 新しい DOMDocument('1.0', 'UTF-8'); <br> $dom->load($filename); <br>  <br> //獲得<article>结点 <br> $articles = $dom->getElementsByTagName("article"); <br> echo '<記事> 点数 ' 。 $articles->length; <br> foreach ($articles を $article として) <br> { <br>     $id = $article->getElementsByTagName("id")->item(0)->nodeValue; <br>     $title = $article->getElementsByTagName("title")->item(0)->nodeValue; <br>     $link = $article->getElementsByTagName("link")->item(0)->nodeValue; <br>     $article_array[$id] = array('title'=>$title, 'link'=>$link); <br> } <br>  <br> //输出结果 <br> echo "<pre class="brush:php;toolbar:false">"; <br> var_dump($article_array); <br> echo "</pre>"; <br> ?> <br> <?php<br> //XML文書を读取<br> // 投稿者 MoreWindows( http://blog.csdn.net/MoreWindows )<br> $filename = "D:\test.xml";<br> $article_array = array();</p> <p>$dom = 新しい DOMDocument('1.0', 'UTF-8');<br> $dom->load($filename);</p> <p>//<article>结点を獲得<br> $articles = $dom->getElementsByTagName("article");<br> echo '<記事> 点数 ' 。 $articles->length;<br> foreach ($articles を $article として)<br> {<br>  $id = $article->getElementsByTagName("id")->item(0)->nodeValue;<br>  $title = $article->getElementsByTagName("title")->item(0)->nodeValue;<br>  $link = $article->getElementsByTagName("link")->item(0)->nodeValue;<br>  $article_array[$id] = array('title'=>$title, 'link'=>$link);<br> }</p> <p>//输出结果<br> echo "<pre class="brush:php;toolbar:false">";<br> var_dump($article_array);<br> echo "</pre>";<br> ?><br> 実行結果は以下の通り:</p> <p> <img alt="" src="http://www.bkjia.com/uploads/allimg/131122/144SK461-0.gif"><br> <br> もっとWindows</p>を抜粋 <p align="left"></p> <div style="display:none;"> <span id="url" itemprop="url">http://www.bkjia.com/PHPjc/478414.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">tru​​e</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http://www.bkjia.com/PHPjc/478414.html</span><span id="genre" itemprop="genre">技術記事</span><span id="description" itemprop="description"> PHP は、XML ファイルの生成と取得に便利です。PHP は主に DOMDocument、DOMElement、および DOMNodeList を通じて XML の取得と書き込み操作を実行します。以下では、これらがどのように使用されるかを簡単に説明します。 </span> </div></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>声明:</span><div>この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。</div></div></div><div class="nphpSytBox"><span>前の記事:<a class="dBlack" title="PHP5.4 の新機能: 配列逆参照サポート_PHP チュートリアル" href="http://m.php.cn/ja/faq/302761.html">PHP5.4 の新機能: 配列逆参照サポート_PHP チュートリアル</a></span><span>次の記事:<a class="dBlack" title="PHP5.4 の新機能: 配列逆参照サポート_PHP チュートリアル" href="http://m.php.cn/ja/faq/302763.html">PHP5.4 の新機能: 配列逆参照サポート_PHP チュートリアル</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>関連記事</h2><em><a href="http://m.php.cn/ja/article.html" class="bBlack"><i>続きを見る</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="http://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/2.html" title="正規表現内のすべての式記号 (概要)" class="aBlack">正規表現内のすべての式記号 (概要)</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!</p></div><div class="footermid"><a href="http://m.php.cn/ja/about/us.html">私たちについて</a><a href="http://m.php.cn/ja/about/disclaimer.html">免責事項</a><a href="http://m.php.cn/ja/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>