Solarized
HOME > WEBプログラム覚書 > PHP5 simpleXML 動作テスト part3
PHP5 simpleXML 動作テスト part3
simpleXMLではxPathを利用してノードにアクセスできるようなので試してみるよ。
インスタンス作成
例によって使用XMLファイルはこのサイトのサイトマップ
サンプルコード
PHP
- <?php
- $xml = "/sample/xml/sitemap/sitemap.xml";
- $sitemap = new SimpleXMLElement($xml, null, true);
- ?>
xPathを利用してノードにアクセス
$sitemapのノードにxPathを利用してアクセスするにはxpath(string $path)を利用する。
カレントは/directories/root/web/library/pearとする。
サンプルコード
PHP
- <?php
- $pear = $sitemap->root->web->library->pear;
- echo $pear->getName();
- ?>
実行結果
pear
子要素にアクセス
pear/package/pager にアクセスする。
サンプルコード
PHP
- <?php
- $pager = $pear->xpath("package/pager");
- echo $pager[0]->getName() . "<br />";
- echo $pager[0]["name"] . "<br />"";
- echo $pager[0]["d"];
- ?>
実行結果
pager
PEAR::pager
ページングナビゲーションを提供するPEAR::Pagerの概要
子孫にアクセス
//も利用できる。package以下のfilesを取得。files数分の配列が返る。
サンプルコード
PHP
- <?php
- $package_files = $pear->xpath("package//files");
-
- var_dump(count($package_files));
-
- foreach ($package_files as $values) {
-
- foreach ($values->children() as $value) {
-
- echo $value->getName() . "<br />";
- echo $value["name"] . "<br />";
- echo $value["d"] . "<br />"";
- }
- }
- ?>
実行結果
int(5)
index.php
一覧
便利なPEARパッケージの紹介と動作サンプル
index.php
概要
ページングナビゲーションを提供するPEAR::Pagerの概要
sample.php
動作サンプル
PEAR::pagerの動作サンプル
index.php
概要
バリデート機能を提供するPEAR::Validateの概要
email.php
メールアドレスチェック
様々なデータ形式の妥当性をチェックするPEAR::Validate。email()メソッドの紹介
number.php
数値チェック
様々なデータ形式の妥当性をチェックするPEAR::Validate。number()メソッドの紹介
uri.php
URIチェック
様々なデータ形式の妥当性をチェックするPEAR::Validate。uri()メソッドの紹介
index.php
概要
ディレクトリのファイルをパターンで検索したり、ディレクトリマップを作成出来る便利なライブラリPEAR::File_Findの紹介
glob.php
glob()
ディレクトリを走査するPEAR::File_Findのglob()メソッドのテスト
maptree.php
maptree()
ディレクトリを走査するPEAR::File_Findのmaptree()メソッドのテスト
maptreemultiple.php
maptreemultiple()
ディレクトリを走査するPEAR::File_Findのmaptreemultiple()メソッドのテスト
search.php
search()
ディレクトリを走査するPEAR::File_Findのsearch()メソッドのテスト
index.php
概要
アクセス元のOSやブラウザを判定してくれるPEAR::Net_UserAgent_Detect 概要
sample.php
動作サンプル
OSやブラウザの判定を行えるPEAR::Net_UserAgent_Detectの動作サンプル
属性にアクセス
pear/package/validate の属性にアクセスする。
サンプルコード
PHP
- <?php
- $validate_atributes = $pear->xpath("package/validate/@*");
-
- foreach ($validate_atributes as $attribute) {
- foreach ($attribute as $key => $value) {
- echo $key . " : " . $value . "<br />";
- }
- }
- ?>
実行結果
name : PEAR::Validate
d : バリデート機能を提供するPEAR::Validateの概要
親要素にアクセス
pearの親要素であるlibraryにアクセスする。
サンプルコード
PHP
- <?php
- $libraries = $pear->xpath("..");
-
- echo $libraries[0]->getName() . "<br />";
- echo $libraries[0]["name"] . "<br />";
- echo $libraries[0]["d"];
- ?>
実行結果
library
ライブラリ
WEBサイト制作に欠かせない便利なライブラリの紹介
xPathを利用して色々な要素に簡単にアクセスできますが注意点としては
- xPath全て利用できるわけではない
- xPathでの指定はめっさ遅いらしい
とのことです。詳しくはPHP での SimpleXML 処理を参照。
| 投稿日 |
2008年12月17日 00:42 |
| カテゴリ |
PHP |
| タグ |
テストコード | 動作確認 | 関数 |
| トラックバック URL |
http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1154 |
2009年1月13日 13:53
simpleXMLを利用してXMLファイルの作成などを簡単におこなう。続きを読む
2009年1月13日 13:54
php5になるとXMLが簡単に扱えるようsimpleXMLが利用できるようなので動作テストをしてみた。続きを読む
2009年4月17日 21:13
SimpleXMLでCDATAや名前付きの要素を取得する方法続きを読む
2010年3月16日 04:57
PHP、tidyとSimpleXMLでスクレイピングの練習。続きを読む