KANTENNA.COM

Solarized

HOME > WEBプログラム覚書 > PHP5 simpleXML 動作確認 part2

PHP5 simpleXML 動作確認 part2

simpleXMLを利用するとXMLファイルの作成などが簡単に できてしまうっぽいので試します。

XMLデータの取得

PHP5 simpleXML 動作確認 pert1と同じく使うXMLファイルはこのサイトの サイトマップ

まずは書き込むXMLデータの取得。/directories/root/web/web_design を 取得することにする。

サンプルコード

PHP
  1.  <?php
  2.  $xml = "/sample/xml/sitemap/sitemap.xml";
  3.  $sitemap = new SimpleXMLElement($xml, null, true);
  4.  
  5.  $web_design = $sitemap->root->web->web_design;
  6.  ?>

文字列データを取得

文字列として取得するにはasXML()を利用する

サンプルコード

PHP
  1.  <?php
  2.  echo htmlspecialchars($web_design->asXML(), ENT_QUOTES, mb_internal_encoding());
  3.  ?>

実行結果

PHP
  1.  <?php<web_design name="WEBデザイン" d="WEBデザインに必要な知識、テクニック、スクリプトなどの紹介">
  2.  
  3.   <files>
  4.   <index.php name="一覧" k="WEB,デザイン,WEBデザイン" d="WEBデザインに必要な知識、テクニック、スクリプトなどの紹介"/>
  5.   </files>
  6.  
  7.   <html name="HTML" d="HTMLについての解説・タグのリファレンス">
  8.   <files>
  9.   <index.php name="HTML" k="HTML,HTMLタグ,タグ,リファレンス" d="HTMLについての解説・タグのリファレンス"/>
  10.   </files>
  11.   </html>
  12.  
  13.   <css_hack name="CSS Hack" d="クロスブラウザを実現させるCSSハックの紹介">
  14.   <files>
  15.   <index.php name="CSS Hack" k="CSS,CSS Hack,CSSハック" d="クロスブラウザを実現させるCSSハックの紹介"/>
  16.   <under_score.php name="アンダースコアハック" k="アンダースコアハック,css,ハック" d="CSSハック アンダースコアハックの説明-WinIE4.0~6.0-"/>
  17.   <star_hack.php name="スターハック" k="スターハック,css,ハック" d="CSSハック スターハックの説明-WinIE4.0~6.0MacIE4.0~5.2-"/>
  18.   <star7_hack.php name="スター7ハック" k="スター7ハック,css,ハック" d="CSSハック "/>
  19.   <back_slash.php name="Hollyハック(バックスラッシュハック)" k="Hollyハック(バックスラッシュハック),css,ハック" d="CSSハック "/>
  20.   <caio_hack.php name="Caioハック" k="Caioハック,css,ハック" d="CSSハック Caioハックの説明-NN-"/>
  21.   <hash_hack.php name="ハッシュハック" k="ハッシュハック,css,ハック" d="ハッシュハックの説明-WinIE4~6/MacIE5.0~5.2/Opera7/Mozilla/Firefox-"/>
  22.   <fbrice.php name="CSSハック -Fbriceインバージョン-" k="Fbriceインバージョン,css,ハック" d="CSSハック Fbriceインバージョンの説明-NN4/Opera4~5-"/>
  23.   <root.php name=":root擬似クラス" k=":root擬似クラス,css,ハック" d="CSSハック :root擬似クラスの説明-MacIE5.0~5.2/Mozilla/FireFox/Safari-"/>
  24.   <xmlns.php name="xmlns属性" k="xmlns属性,css,ハック" d="CSSハック xmlns属性の説明-MacIE5.0~5.2/Mozilla/FireFox/Safari-"/>
  25.   </files>
  26.   </css_hack>
  27.  
  28.   <tec name="WEBデザインのネタ" d="WEBデザインに役立つテクニックやネタなどを紹介">
  29.   <files>
  30.   <index.php name="一覧" k="WEB,WEBデザイン,WEBデザイナー,HTML,CSS,テクニック" d="WEBデザインに役立つテクニックやネタなどを紹介"/>
  31.   <_0.php name="table + css で見栄えのいいきれいなtableを作成" k="WEB,WEBデザイン,HTML,css,テーブル,table" d="table + css で見栄えのいいきれいなtableのサンプル"/>
  32.   <_1.php name="CSSでmin-height、min-widthをクロスブラウザにする最も簡単な方法" k="CSS,min-height,min-width,高さ" d="CSSでmin-height、min-widthをクロスブラウザにする最も簡単な方法の紹介"/>
  33.   <_2.php name="selectメニューのデザイン" k="form,input,select,optgroup,css" d="selectメニューのデザインいろいろ"/>
  34.   </files>
  35.   </tec>
  36.   <bookmark name="お気に入りデザインサイトブックマーク" k="WEB,WEBデザイン,HTML,Flash,クールデザイン" d="お気に入りのデザインに優れたサイトをブックマーク"/>
  37.   </web_design>?>

ファイルに出力

ファイルに出力するにはasXML(filename)を利用する

サンプルコード

PHP
  1.  <?php
  2.  $web_design->asXML(dirname($xml) . DIRECTORY_SEPARATOR . "web_design.xml");
  3.  ?>

出来上がったファイルはこちら 確かに簡単にできますねー。

プログラミングPHP 第2版
作者:Peter MacIntyre | 価格:¥ 3,990

トラックバック(4)

2009年1月13日 13:52

PHP5 simpleXML 動作テスト pert3WEBプログラム覚書

simpleXMLとxPathを利用したXMLのノードへのアクセス方法続きを読む

2009年1月13日 13:54

PHP5 simpleXML 動作テスト pert1WEBプログラム覚書

php5になるとXMLが簡単に扱えるようsimpleXMLが利用できるようなので動作テストをしてみた。続きを読む

2009年4月17日 21:12

SimpleXMLメモWEBプログラム覚書

SimpleXMLでCDATAや名前付きの要素を取得する方法続きを読む

2010年3月16日 04:57

[PHP] スクレイピング 基本WEBプログラム覚書

PHP、tidyとSimpleXMLでスクレイピングの練習。続きを読む

コメント

コメントする
Name
Email Address
URL
TIME LINE
2012
02.08

[Ubuntu11.10]Winows XPユーザーがUbuntuを使ってみて

Windows XPとUbuntuのデュアルブート環境にしてみておもったこと。

2012
02.03

[jQuery]closest()とparents()

今から16年前Netscapeブラウザのソースコードの公開方法の会議の中で、初めてオープンソースという言葉が使われた今日、 みなさんいかがお過ごしでしょうか。

今回の投稿はそれとは関係のないjQueryのparents()とclosest()が 似てたので何が違うのか試した時のメモです。

2012
02.01

[jQuery Mobile]初期化イベントメモ

jQuery Mobileは読み込まれてから

mobileinit -> pagebeforecreate -> pagecreate -> pageinit

の順番でイベントが発生する。

2012
02.01

[WordPress]管理画面のフッタのフィルタとアクション。

時間も時間なので、あまり使用頻度の高くない微妙なネタを。

会員制サイトなどで不特定多数の人にログインさせる場合、フッタのバージョン情報は隠しておきたかったり、 こじゃれたメッセージを表示したいときとか使うアクションとフィルタ。

2012
01.28

[WordPress] ブログの情報を取得する方法とノーキャッシュ疑惑

ブログのget_bloginfo()で取れないデータが必要な場合に使うもの。

2012
01.26

[jQuery Mobile]ダイアログ

jQuery Mobileにおけるダイアログの扱いはウインドウではなくページ。 なので通常のページと同様に扱える。ダイアログウインドウを出す。じゃなくダイアログページに遷移する。的な。

2012
01.25

[Ubuntu11.10]Ubuntuのインストール後の設定

インストール完了後の環境構築。PC起動時いちいちBIOSからブートドライブ選んで ブートするのかと思ってたら起動時にOS選択画面が出てくる。

すばらしいですね。

2012
01.24
2012
01.23

MinGW+Mintty+Git

MinGW+Mintty+Gitをやろうとして失敗に終わった。このエントリーには収穫できるものはありません。