少し前に、xml ファイルを読み取る必要がある関数を作成しました。これまで何度も作成しましたが、今日は時間があったので、簡単にまとめてみました。将来使用するために、テキストは以下から始まります。
現在、books.xml として保存されている次の xml ソース ファイルがあるとします。
<pre class="code"><?xml version="1.0" encoding="UTF-8"?> <books> <book> <author>phpernote.com</author> <title>PHP And MySQL Development</title> <publisher>火星出版社</publisher> </book> <book> <author>taobao.com</author> <title>如何淘宝</title> <publisher>淘宝出版社</publisher> </book> </books>
(1) simplexml を使用して xml ファイルを読み取ります。
<pre class="code"><?php header('Content-type:text/html;charset=utf-8'); $books=simplexml_load_file('books.xml');//将XML中的数据,读取到数组对象中 foreach($books as $v){ echo $v->author."-".$v->title."-".$v->publisher."<br>"; }
PHP SimpleXML 関数の詳細については、次を参照してください: PHP SimpleXML 関数
( 2) DOMDocument を使用して XML ファイルを読み取ります。例は次のとおりです:
<pre class="code"><?php header('Content-type:text/html;charset=utf-8'); $doc=new DOMDocument(); $doc->load('books.xml');//读取xml文件 $book=$doc->getElementsByTagName('book');//取得book标签的对象数组 echo $book->length,'<br />'; foreach($book as $v){ $author=$v->getElementsByTagName('author');//取得author的标签的对象数组 $author=$author->item(0)->nodeValue;//取得node中的值 $title=$v->getElementsByTagName('title'); $title=$title->item(0)->nodeValue; $publisher=$v->getElementsByTagName('publisher'); $publisher=$publisher->item(0)->nodeValue; echo "$author - $title - $publisher <br />"; }
DOMDocument メソッドの詳細については、公式 PHP ドキュメントを参照してください: DOMDocumentクラス
もちろん他にも正規表現解析など色々なメソッドがありますが、今後使うときにまとめていきます 今日はこの2つのメソッドを書きます。一般的な用途には十分です。