PHPサンプル
UPDATE:2017年06月07日
xmlを作成したい 展開したい
xmlの作成と展開
オブジェクト(SimpleXMLElement) = simplexml_load_string ( XML文字列 )
xml文字列を作成し、その文字列を simplexml_load_string() 関数を使用して、オブジェクトに代入します。そして、オブジェクトを展開することで、xmlデータを取得することが出来ます。
xml文字列を作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <!-- サンプルコード --> <h3>xml文字列作成</h3> <?php //xml文字列を作成する配列を作成 $aXmlData = array(); $aXmlData[0] = array ( 'title' => 'Yahoo', 'url' => 'http://www.yahoo.co.jp/', 'description' => 'ポータルサイト' ); $aXmlData[1] = array ( 'title' => 'Google', 'url' => 'http://www.google.co.jp/', 'description' => '検索エンジン' ); //xml文字列作成 $sStringXml = '<?xml version="1.0" encoding="UTF-8"?>'."\n"; $sStringXml .= "<list>"."\n"; foreach($aXmlData as $value){ $sStringXml .= "<item>"; $sStringXml .= "<title>".$value['title']."</title>"; $sStringXml .= "<url>".$value['url']."</url>"; $sStringXml .= "<description>".$value['description']."</description>"; $sStringXml .= "</item>"."\n"; } $sStringXml .= "</list>"."\n"; echo '[PHP ruler="true" toolbar="true"]'.htmlentities($sStringXml, ENT_QUOTES, 'UTF-8').'<\/pre>'; ?> |
結果は
<?xml version="1.0" encoding="UTF-8"?>
<list>
<item><title>Yahoo</title><url>http://www.yahoo.co.jp/</url><description>ポータルサイト</description></item>
<item><title>Google</title><url>http://www.google.co.jp/</url><description>検索エンジン</description></item>
</list>
<list>
<item><title>Yahoo</title><url>http://www.yahoo.co.jp/</url><description>ポータルサイト</description></item>
<item><title>Google</title><url>http://www.google.co.jp/</url><description>検索エンジン</description></item>
</list>
となります。
xmlを展開
xml文字列をsimplexml_load_string() を使用してxmlをオブジェクトに代入して展開します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!-- サンプルコード --> <h3>xmlを展開</h3> <?php ### xmlをオブジェクトに変換して代入 $xml = simplexml_load_string($sStringXml); ### オブジェクトを展開 foreach($xml->item as $value){ $title = $value->title; $url = $value->url; $description = $value->description; echo '---------------------------------------------<br>'; echo 'title:'.$title.'<br>'; echo 'url:'.$url.'<br>'; echo 'description:'.$description; echo '<br>'; } ?> |
結果は
———————————————
title:Yahoo
url:http://www.yahoo.co.jp/
description:ポータルサイト
———————————————
title:Google
url:http://www.google.co.jp/
description:検索エンジン
title:Yahoo
url:http://www.yahoo.co.jp/
description:ポータルサイト
———————————————
title:Google
url:http://www.google.co.jp/
description:検索エンジン
となります。
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | <!-- サンプルコード --> <?php $sTitle = 'xmlの作成と展開'; ?> <?php $sPageUrl = 'https://wepicks.net/2012/03/02/phpsample-xml-create/'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <meta name="robots" content="index"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <head> <title>TRYPHP! PHPサンプル <?php echo $sTitle; ?></title> </head> <body> <h1>PHPサンプル <?php echo $sTitle; ?></h1> <!-- 説明ページ --> <h3><a href="<?php echo $sPageUrl; ?>">→説明はこちら</a></h3> <hr/> <h2>サンプルコード実行</h2> <div style="background-color:#f8f8f8;margin:20px; padding:20px; border:solid #cccccc 1px;"> <!-- // =========================== ここから =========================== --> <h3>xml文字列作成</h3> <?php //xml文字列を作成する配列を作成 $aXmlData = array(); $aXmlData[0] = array ( 'title' => 'Yahoo', 'url' => 'http://www.yahoo.co.jp/', 'description' => 'ポータルサイト' ); $aXmlData[1] = array ( 'title' => 'Google', 'url' => 'http://www.google.co.jp/', 'description' => '検索エンジン' ); //xml文字列作成 $sStringXml = '<?xml version="1.0" encoding="UTF-8"?>'."\n"; $sStringXml .= "<list>"."\n"; foreach($aXmlData as $value){ $sStringXml .= "<item>"; $sStringXml .= "<title>".$value['title']."</title>"; $sStringXml .= "<url>".$value['url']."</url>"; $sStringXml .= "<description>".$value['description']."</description>"; $sStringXml .= "</item>"."\n"; } $sStringXml .= "</list>"."\n"; echo '[PHP ruler="true" toolbar="true"]'.htmlentities($sStringXml, ENT_QUOTES, 'UTF-8').'<\/pre>'; ?> <h3>xmlを展開</h3> <?php ### xmlを作成 $xml = simplexml_load_string($sStringXml); ### xmlを展開 foreach($xml->item as $value){ $title = $value->title; $url = $value->url; $description = $value->description; echo '---------------------------------------------<br>'; echo 'title:'.$title.'<br>'; echo 'url:'.$url.'<br>'; echo 'description:'.$description; echo '<br>'; } ?> <!-- =========================== ここまで =========================== // --> </div> <hr/> </body> </html> |
実行結果
xml文字列作成
<?xml version="1.0" encoding="UTF-8"?>
<list>
<item><title>Yahoo</title><url>http://www.yahoo.co.jp/</url><description>ポータルサイト</description></item>
<item><title>Google</title><url>http://www.google.co.jp/</url><description>検索エンジン</description></item>
</list>
<?xml version="1.0" encoding="UTF-8"?>
<list>
<item><title>Yahoo</title><url>http://www.yahoo.co.jp/</url><description>ポータルサイト</description></item>
<item><title>Google</title><url>http://www.google.co.jp/</url><description>検索エンジン</description></item>
</list>
xmlを展開
———————————————
title:Yahoo
url:http://www.yahoo.co.jp/
description:ポータルサイト
———————————————
title:Google
url:http://www.google.co.jp/
description:検索エンジン
タグ(=記事関連ワード)
日付
投稿日:2012年3月2日
最終更新日:2017年06月07日
最終更新日:2017年06月07日
このカテゴリの他のページ
この記事へのコメント
トラックバックurl
https://wepicks.net/phpsample-xml-create/trackback/