xml->request->ABC で子のリストを取得するにはどうすればよいですか? ABC には DEF、ZZA、XAS、ETC が含まれている可能性があり、存在するかどうかを確認する代わりに、これらの子 (名前が必要) のリストを反復処理したいと考えています。
-編集- 注: 要素名を探しています。既知の IF 属性を返す例を見つけました。タグ/要素名を取得するにはどうすればよいですか?
この XML の断片と、それを SimpleXML でロードするコードを考えてみます。
$str = <<<XML
<xml>
<request>
<ABC>
<DEF>glop</DEF>
<ZZA>test</ZZA>
</ABC>
</request>
</xml>
XML;
$xml = simplexml_load_string($str);
メソッドを使用してchildren()
ABC 要素のすべての子のリストを取得し、それらを foreach でループするのはどうですか?
このように、例えば:
foreach ($xml->request->ABC->children() as $a => $b) {
echo "$a $b<br />";
}
そして、次のような出力が得られます:
DEF glop
ZZA test