▽1
●
oil999 ●150ポイント ![]() |
"http://a9.com/-/spec/opensearchrss/1.0/" は YouTube が利用しているOpenSearchの定義ファイル(xmlns)の場所を示すURLです。
詳しくは以下のサイトをご覧ください。
http://www.feedforall.com/opensearch.htm
"http://search.yahoo.com/mrss/" は同じく RSS 2.0 の定義ファイル(xmlns)の場所を示すURLです。
マニュアルから探すことになると思います。
http://php.net/manual/ja/function.simplexml-load-file.php
↑のページで、simplexml_load_file 関数が返すのが SimpleXMLElement という型を持つものだということが分かります。
http://www.php.net/manual/ja/class.simplexmlelement.php
↑は SimpleXMLElement クラスのページです。
children というメソッドがあるのが分かります。
http://www.php.net/manual/ja/simplexmlelement.children.php
↑は SimpleXMLElement クラスの children メソッドのページです。
引数は、省略可能なものがふたつあることが分かります。
第一引数は、名前空間(というよりは、ネームスペースと言う方が通りが良いですね)を表す文字列です。
第二引数は、第一引数をどう解釈するかの指定です。
第二引数を FALSE もしくは、省略すると、第一引数を URL として扱います。
第二引数を TRUE にした場合には、第一引数がプレフィックスを直接指定したという扱いになります。
質問にある openSearch の RSS の例で言えば、以下の三つが同じ動作になります。
<?php $counts = $sxml->children('http://a9.com/-/spec/opensearchrss/1.0/'); $counts = $sxml->children('http://a9.com/-/spec/opensearchrss/1.0/', FALSE); $counts = $sxml->children('openSearch', TRUE); ?>
以下のページには、SimpleXML の使い方のサンプルが幾つか載っています。
http://php.net/manual/ja/simplexml.examples-basic.php
children メソッドの説明にある、「名前空間URL って何さ?」というのは、PHP ではなく、XML の話になります。
例えば、↓。
http://www.kanzaki.com/docs/sw/names.html
「XML 名前空間」とか「XML ネームスペース」で検索すると、いっぱい見つかります。