2012-01-06 71 views
0

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

你可以正常迭代一个元素的子元素,你有没有试过这个父元素? http://php.net/manual/en/simplexmlelement.children.php – 2012-01-06 17:31:15

回答

1

使用SimpleXMLElement::children()

foreach($response->Result->children() as $child_node) 
{ 
    // do something with $child_node 
} 

如果您需要验证节点名称在“名称”的形式+ ,您可以在循环中添加一个条件如下所示:

if(preg_match('/^Rank\d+$/', $child_node->getName())) 
{ 

}