0

我有这个作为XML:

...
<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)

问题:如何将所有孩子都处理为小写?

4

1 回答 1

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
      }
   }
}
于 2012-11-12T23:11:03.457 回答