2012-11-12 77 views
0

我有這樣的XML:PHP simplexml的孩子小寫

... 
<product> 
<id>1</id> 
<defaultImage>test.jpg</defaultImage> 
</product> 
... 

我有這個作爲PHP:

$testcase = 'defaultimage'; 
$xml = simplexml_load_file('./temp/'.$i.'.xml'); 
foreach ($xml->children() as $child) { 
    $child->$testcase; 
} 

現在的問題是這樣的,我不得不有$testcase小寫形式(defaultimage)但是在XML文件中,孩子的名字是:defaultImage(注意大寫字母I)

問題:我該如何處理所有兒童作爲小寫字母?

回答

0

您可以使用->getName()方法在遍歷內部->children()數組時循環查找節點的名稱。

爲清楚起見,我用了一個更明確的遍歷所有product節點的外環

$testcase = 'defaultimage'; 
$xml = simplexml_load_file('./temp/'.$i.'.xml'); 
foreach ($xml->product as $product) 
{ 
    foreach ($product->children as $child) 
    { 
     if (strtolower($child->getName()) == $testcase) 
     { 
     // Do whatever it is you need to do with the <defaultImage> node 
     } 
    } 
}