2008年12月17日 00:35

PHP5 simpleXML 動作テスト pert1

| http://www.kantenna.com/cgi-bin/mt/mt-tb.cgi/421

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

SimpleXMLElement インスタンス作成

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

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

サンプルコード


$xml = "/sample/xml/sitemap/sitemap.xml";
$sitemap = new SimpleXMLElement($xml, null, true);

ノードの取得

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

サンプルコード


echo $sitemap->getName() . "<br />";

実行結果

directories

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

サンプルコード


echo $sitemap->root[0]->getName() . "<br />";
echo $sitemap->children()->getName() . "<br />";

実行結果

root
root

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

サンプルコード


$second = $sitemap->children();
echo $second[0]->getName() . "<br />";
echo $second[0]["name"] . "<br />";
echo $second[0]["k"] . "<br />";
echo $second[0]["d"] . "<br />";

実行結果

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

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

サンプルコード


$third = $second->children();

foreach ($third as $child) {
    echo "[" . $child->getName() . "]<br />";
    echo $child["name"] . "<br />";
    echo $child["d""] . "<br />";
}

実行結果

[files]


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

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

サンプルコード


foreach ($sitemap->children() as $child) {
    echo "[" . $child->getName() . "]<br />";

    $attributes = $child->attributes();
    foreach ($attributes as $name => $value) {
        echo $name . " : " . $value . "<br />";
    }
}

実行結果

[root]
name : WEBデザイン・ホームページ制作 KANTENA
k : WEB,WEBデザイン,HTML,ホームページ製作,WEBサイト製作,CSSハック,スクリプト,アプリケーション
d : ホームページ製作やWEBデザイン、WEBサイト製作に必要な知識や便利なアプリケーション、スクリプトの紹介
PHP×携帯サイト 実践アプリケーション集

著者 : 株式会社マイネット・ジャパン / 金額 : ¥ 2,940

PHP5 simpleXML 動作テスト pert1タグ:

トラックバック

  • http://www.kantenna.com/cgi-bin/mt/mt-tb.cgi/421
[WEBプログラム覚書]2009年01月13日 13:52
PHP5 simpleXML 動作テスト pert3
simpleXMLとxPathを利用したXMLのノードへのアクセス方法
[WEBプログラム覚書]2009年01月13日 13:53
PHP5 simpleXML 動作確認 pert2
simpleXMLを利用してXMLファイルの作成などを簡単におこなう。
[WEBプログラム覚書]2009年04月17日 21:14
SimpleXMLメモ
SimpleXMLでCDATAや名前付きの要素を取得する方法
コメント (0)
コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)





この情報を登録しますか?


先月アクセスが多かったページ