动态获取类中常量的值

时间:2012-01-06 17:28:05

标签: php simplexml

我正在使用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;
}

我该怎么做?

感谢您提前提供任何帮助。

1 个答案:

答案 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()))
{

}