PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

SimpleXMLElement::children - 指定したノードの子ノードを見付ける | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

SimpleXMLElement::children

(PHP 5 >= 5.0.1, PHP 7)

SimpleXMLElement::children指定したノードの子ノードを見付ける

説明

public SimpleXMLElement SimpleXMLElement::children ([ string $ns [, bool $is_prefix = false ]] )

このメソッドは、指定した要素の子を見つけます。 結果は、通常の反復子により取得できます。

注意: SimpleXML では、ほとんどのメソッドに反復処理を追加するための手順が定義されています。 これらは、var_dump() やオブジェクトを評価する他の手段で 見ることはできません。

パラメータ

ns

XML 名前空間。

is_prefix

is_prefixTRUE の場合は ns をプレフィックスとして扱います。FALSE の場合は ns を名前空間 URL として扱います。

返り値

ノードが子を持つかどうかにかかわらず SimpleXMLElement 要素を返します。

変更履歴

バージョン 説明
5.2.0 オプションのパラメータ is_prefix が追加されました。

例1 children() 疑似配列を走査する

<?php
$xml 
= new SimpleXMLElement(
'<person>
 <child role="son">
  <child role="daughter"/>
 </child>
 <child role="daughter">
  <child role="son">
   <child role="son"/>
  </child>
 </child>
</person>'
);

foreach (
$xml->children() as $second_gen) {
    echo 
' The person begot a ' $second_gen['role'];

    foreach (
$second_gen->children() as $third_gen) {
        echo 
' who begot a ' $third_gen['role'] . ';';

        foreach (
$third_gen->children() as $fourth_gen) {
            echo 
' and that ' $third_gen['role'] .
                
' begot a ' $fourth_gen['role'];
        }
    }
}
?>

上の例の出力は以下となります。

The person begot a son who begot a daughter; The person
begot a daughter who begot a son; and that son begot a son

例2 名前空間の使用

<?php
$xml 
'<example xmlns:foo="my.foo.urn">
  <foo:a>Apple</foo:a>
  <foo:b>Banana</foo:b>
  <c>Cherry</c>
</example>'
;

$sxe = new SimpleXMLElement($xml);

$kids $sxe->children('foo');
var_dump(count($kids));

$kids $sxe->children('foo'TRUE);
var_dump(count($kids));

$kids $sxe->children('my.foo.urn');
var_dump(count($kids));

$kids $sxe->children('my.foo.urn'TRUE);
var_dump(count($kids));

$kids $sxe->children();
var_dump(count($kids));
?>
int(0)
int(2)
int(2)
int(0)
int(1)

注意

SimpleXMLElement::children() は、現在のノードに子があるか否かにかかわらずノードオブジェクトを返します。 子があるかどうかを調べるには、返り値の count() を使います。PHP 5.3.0 以降では、かわりに SimpleXMLElement::count() を使うことができます。

参考

  • SimpleXMLElement::count() - 子要素を数える
  • count() - 変数に含まれるすべての要素、 あるいはオブジェクトに含まれる何かの数を数える


忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「SimpleXMLElement::children - 指定したノードの子ノードを見付ける」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | SimpleXMLElement::children - 指定したノードの子ノードを見付ける」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: