我正在使用SimpleXML来解析XML API。
API会返回以下几个子元素:
...
<Rank0>Something</Rank0>
<Rank1>Something</Rank1>
<Rank2>Something</Rank2>
...
例如,何时访问<Rank1>
,我可以执行以下操作:
$response->Result->Rank1;
但是,我需要动态循环遍历这些值。在伪代码中,类似这样:
foreach($response->Result>Rank*){
echo "looping through rank" . $number;
echo "value is" . $value;
}
我该怎么做?
感谢您提前提供任何帮助。
答案 0 :(得分:1)
使用SimpleXMLElement::children()
:
foreach($response->Result->children() as $child_node)
{
// do something with $child_node
}
如果您需要验证节点名称是否为“Name”+ number ,您可以在循环中添加条件,如下所示:
if(preg_match('/^Rank\d+$/', $child_node->getName()))
{
}