私自身の娯楽として、PHP のSimpleXMLElement
クラスを利用する XML リーダー クラスを作成しています。最終的にはこれをライブラリとして CodeIgniter に移植し、将来のアプリケーションで利用できるようにします。ただし、今のところ、バニラ PHP を使用してテストしています。私の最終目標は、XML ドキュメントをトラバースできるようにすることです。今のところ、このフィードを見ています: http://rubygems.org/gems/sass/versions.atom。
問題
自分のcount()
メソッドに情報を渡すのに苦労しています。メソッドは次のとおりです。
public function count($element) {
$this->element = $element;
return $this->xml->element->count();
}
上記のメソッドの考え方は、誰でもオブジェクトを渡すことができるようにすることでありint
、特定の要素が持つ子の数を識別する を返します。通常、これは機能します:
$xml->title->count(); // returns 1, for example
試したこと
echo $xml->count('entry'); // always results in 0
public function count($element) {
return $this->xml->$element->count();
}
echo $xml->count('entry'); // still results in 0
echo $xml->count($xml->entry); // Undefined property
質問
これを行うための正しいアプローチは何ですか? 任意のガイダンスをいただければ幸いです。クラス全体は次のとおりです。http://pastebin.com/VjhjGcaR