PHP ファイル関連

[PHP] XMLを生成してダウンロードする

2015年9月6日

PHPでXMLを生成してダウンロードするサンプルです。

サンプルソース

例)xmlデータを作成する


<?php
 //Domを生成
 $dom = new DomDocument('1.0', 'utf-8');
 $dom->formatOutput = true; 
  
 //親要素を定義
 $root = $dom->appendChild($dom->createElement('root')); 
 $data1 = $root->appendChild($dom->createElement('data1')); 
 $data2 = $root->appendChild($dom->createElement('data2')); 

 //data1の子要素を定義
 $data1->appendChild($dom->createElement('note', '都道府県')); 
  
 //data2の子要素を定義
 //要素1
 $pref = $data2->appendChild($dom->createElement('pref')); 
 $pref->appendChild($dom->createElement('name', '北海道')); 
 $pref->appendChild($dom->createElement('cd', '01'));

 //要素2
 $pref = $data2->appendChild($dom->createElement('pref')); 
 $pref->appendChild($dom->createElement('name', '青森県')); 
 $pref->appendChild($dom->createElement('cd', '02'));

 //要素3
 $pref = $data2->appendChild($dom->createElement('pref')); 
 $pref->appendChild($dom->createElement('name', '岩手県')); 
 $pref->appendChild($dom->createElement('cd', '03'));

 //要素4
 $pref = $data2->appendChild($dom->createElement('pref')); 
 $pref->appendChild($dom->createElement('name', '宮城県')); 
 $pref->appendChild($dom->createElement('cd', '04'));

 //XML出力
 $fileName = 'pref.xml';
 header('Content-Type: application/xml');
 header('Content-Disposition: attachment; filename='.$fileName);
 echo $dom->saveXML();

結果

<?xml version="1.0" encoding="utf-8"?>
<root>
 <data1>
  <note>都道府県</note>
 </data1>
 <data2>
  <pref>
   <name>北海道</name>
   <cd>01</cd>
  </pref>
  <pref>
   <name>青森県</name>
   <cd>02</cd>
  </pref>
  <pref>
   <name>岩手県</name>
   <cd>03</cd>
  </pref>
  <pref>
   <name>宮城県</name>
   <cd>04</cd>
  </pref>
 </data2>
</root>

関連記事

-PHP, ファイル関連
-