HOME>WEBプログラム覚書>PHP5 simpleXML 動作テスト part1

PHP5 simpleXML 動作テスト part1

php5になるとXMLが簡単に扱えるようsimpleXMLが利用できるようなので 動作テスト。

SimpleXMLElement インスタンス作成

まずはSimpleXMLElementのインスタンスを作成。 ファイルを読み込む場合は第三引数にtrueを指定する。

使うXMLはこのサイトのサイトマップ

サンプルコード

PHP

  1. <?php
  2. $xml = "/sample/xml/sitemap/sitemap.xml";
  3. $sitemap = new SimpleXMLElement($xml, null, true);
  4. ?>

ノードの取得

この場合ルートノードであるdirectoriesが参照されている

サンプルコード

PHP

  1. <?php
  2. echo $sitemap->getName() . "<br />";
  3. ?>

実行結果

directories

directoriesの子要素であるrootにアクセスするには

サンプルコード

PHP

  1. <?php
  2. echo $sitemap->root[0]->getName() . "<br />";
  3. echo $sitemap->children()->getName() . "<br />";
  4. ?>

実行結果

root
root

となる。下記のようにするとわかりやすい。 children()の返り値は配列のような感じになるので

サンプルコード

PHP

  1. <?php
  2. $second = $sitemap->children();
  3. echo $second[0]->getName() . "<br />";
  4. echo $second[0]["name"] . "<br />";
  5. echo $second[0]["k"] . "<br />";
  6. echo $second[0]["d"] . "<br />";
  7. ?>

実行結果

root
WEBデザイン・ホームページ制作 KANTENA
WEB,WEBデザイン,HTML,ホームページ製作,WEBサイト製作,CSSハック,スクリプト,アプリケーション
ホームページ製作やWEBデザイン、WEBサイト製作に必要な知識や便利なアプリケーション、スクリプトの紹介

となる。複数の要素を持つ場合は下記のようにできる。 rootしかなくつまらないのでrootの子要素で試す。

サンプルコード

PHP

  1. <?php
  2. $third = $second->children();
  3.  
  4. foreach ($third as $child) {
  5.     echo "[" . $child->getName() . "]<br />";
  6.     echo $child["name"] . "<br />";
  7.     echo $child["d""] . "<br />";
  8. }
  9. ?>

実行結果

[files]


[web]
WEBデザイン・制作
ホームページ製作やWEBデザイン、WEBサイト製作に必要な知識や便利なアプリケーション、スクリプトの紹介
[app]
アプリケーション
WEBサイト制作、WEBサイト開発役立つにアプリケーションの紹介
[service]
WEB制作・構築関連サービス
ホスティングサービス・レンタルサーバー・メール配信・ASP・アクセスアップ・ホームページ製作・ビジネスブログ・SEO対策・SEM対策などWEBに関係するサービスのご紹介
[pg]
プログラム覚書
PHP、MySQL、JavaScript、XMLに関する覚書。自分用メモなど
[info]
情報備忘録
気になる情報のメモ
[contact]
お問合せフォーム
kanntenna.comへのお問い合わせ、連絡、苦情などはこちら

属性の名前が不明な場合、attributes()を利用する。

サンプルコード

PHP

  1. <?php
  2. foreach ($sitemap->children() as $child) {
  3.     echo "[" . $child->getName() . "]<br />";
  4.  
  5.     $attributes = $child->attributes();
  6.     foreach ($attributes as $name => $value) {
  7.         echo $name . " : " . $value . "<br />";
  8.     }
  9. }
  10. ?>

実行結果

[root]
name : WEBデザイン・ホームページ制作 KANTENA
k : WEB,WEBデザイン,HTML,ホームページ製作,WEBサイト製作,CSSハック,スクリプト,アプリケーション
d : ホームページ製作やWEBデザイン、WEBサイト製作に必要な知識や便利なアプリケーション、スクリプトの紹介
投稿日 2008年12月17日 00:35
カテゴリ PHP
タグ テストコード | 動作確認 | 関数
トラックバック URL http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1135

コメント

コメントする
Name
Email Address
URL