simpleXML
foreach "categories" -> すべての "subCategories1" ノード (各 "categories" の最初のノードだけでなく) を解析することは可能ですか?
例: subcategories1 に移動した後、subcategories2 に移動した後、subcategories3 に移動し、subcategories2->subcategories3 に戻ります。これ以上 subcategories2 がない場合は、subcategories1 に移動し、このカテゴリ ノードに subcategories1 がない場合は、次のノードに移動します。
<xml>
<categories>
<tag11>value</tag11>
<tag12>value</tag12>
<subCategories1>
<tag21>value</tag21>
<tag22>value</tag22>
<subCategories2>
<!-- ........ -->
<tag31>....</tag31>
</subCategories2>
</subCategories1>
</categories>
<categories>
<subCategories1>
<!-- ............... -->
</subCategories1>
<subCategories1>
<!-- ............... -->
</subCategories1>
</categories>
<!-- ....... -->
<categories>
<!-- ............ -->
</categories>
</xml>
foreach($xml->Categories as $categories){
foreach ($categories->SubCategories1 as $cat => $value){
//this took only the first SubCategories1 node from all Categories tag...
}
}
ps 私の英語は少し錆びています. 明確にするために、最初の「categories」タグに移動する必要があります.ここでは「subcategory1」に移動します.存在する場合..存在しない場合は「subcategory1」の別のレベルに移動します。存在する場合は同じルーチンを実行します。そうでない場合は、次の「categories」タグに進みます。