2012-01-06 70 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())) 
{ 

}