2012-11-12 68 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 
     } 
    } 
}