dongmingxiang0312 2012-11-12 22:45
浏览 55
已采纳

PHP simplexml子项为小写

I've got this as XML:

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

I've got this as php:

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

Now the problem is this, I'm forced to have $testcase in a lowercase form (defaultimage) BUT in the XML file the name of the child is: defaultImage (note the uppercase I)

Question: How can I handle all the children as lowercases?

  • 写回答

1条回答 默认 最新

  • dqef7931 2012-11-12 23:11
    关注

    You can use the ->getName() method to find out the name of a node while looping through an inner ->children() array.

    For clarity, I've used a more explicit loop over all product nodes for the outer loop

    $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
          }
       }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序