PHPで開発をしていると色々な形式で出力する必要も出てくると思います。
例えばxmlでの出力。
今回は、PHPでxml出力する方法について以下の内容でお話します。
【解説】xmlについて
【基本】xmlでデータを作る
【応用】xmlのファイル出力
わかりやすく解説しますので、最後まで読んで頂けると幸いです。
xmlとは
まず、xmlとはなんでしょうか。
ExtensibleMarkupLanguageが正式の名称です。
htmlと同じマークアップ言語ですが用途は違います。
htmlはWEBページを作成するための言語です。
また、人間にわかりやすいように作られています。
htmlについてもっと詳しく知りたい場合は以下を参考にしてください。
xmlはシステム側に伝えるための言語です。
要素名や重要度、データ構造を伝えます。
以下のような記述がxmlです。
<?xml version="1.0" encoding="UTF-8"?> <items> <title>samurai</title> <url>https://www.sejuku.net/</url> </items>
システムに伝える目的の記述のため、人間にはわかりにくい記述ですが、htmlに変換する事も出来ます。
xmlについて、何となくご理解頂けでしょうか。
xmlでデータ作成
それでは、PHPからxmlを作成するにはどのようにすればよいでしょうか。
PHPでxmlを出力するためにはSimpleXMLElementを使用します。
以下のサンプルコードで確認しましょう。
<?php $xml_text = <<<XML <items> <title>samurai</title> <url>https://www.sejuku.net/</url> </items> XML; $test_xml = new SimpleXMLElement($xml_text); echo $test_xml->asXML();
まず、$xml_textにxml構文を代入します。
SimpleXMLElementをnewします。
newとは、オブジェクトの生成と初期化を行います。
newについてまだよくわからないという方は是非以下をご覧ください。
最後に出力です。
ブラウザの表示結果は以下になりました。
https://www.sejuku.net/
xmlの構文の一部が消えているように見えますね。
これはブラウザでタグが解釈され、消えているように見えているだけです。
ブラウザのソースコードの確認をしましょう。
<?xml version="1.0"?> <items> <title>samurai</title> <url>https://www.sejuku.net/</url> </items>
きちんとxmlとして出力されている事が確認できました。
xmlファイルに出力
ブラウザではタグが解釈されてソースコードでしかxmlを確認できませんでした。
直接xmlのコードを取得するためにファイルに出力しましょう。
前章で使用したサンプルコードを少し変更します。
<?php $xml_text = <<<XML <items> <title>samurai</title> <url>https://www.sejuku.net/</url> </items> XML; $test_xml = new SimpleXMLElement($xml_text); echo $test_xml->asXML("test.xml"); // 出力ファイルのパスを記述
最後の行に出力パスを記述します。
出力されたtest.xmlの結果は以下です。
<?xml version="1.0"?> <items> <title>samurai</title> <url>https://www.sejuku.net/</url> </items>
※中身を見るために、テキストエディタなどで開きます。
xmlを出力する事が確認できました。
まとめ
今回はPHPのxml出力についてお話しました。
SimpleXMLElementを使うと簡単に出力出来るので是非覚えて頂きたいと思います。
それでは、また。