doufuhuang6981 2013-08-14 06:46
浏览 17

如何将此xml响应更改为数组?

How can I loop through this xml and get only the short_name and opted_in attribute?

    <?xml version="1.0"?>
<CABS_ProviderOptIn_RS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.leisure.com/Schemas/CABS/1.0/CABS_ProviderOptIn_RS.xsd">
  <Status>
    <Success xmlns="http://www.leisure.com/Schemas/CABS/1.0/CABS_Common.xsd">success</Success>
  </Status>
  <Channels>
    <Channel id="Blue_Mountains_City_Tourism_Web" xmlns="http://www.leisure.com/Schemas/CABS/1.0/CABS_Common.xsd">
      <Providers>
        <Provider short_name="adam" content_id="OaksGoldApt" opted_in="true"  />
        <Provider short_name="ravi" content_id="9002005" opted_in="true"  />
        <Provider short_name="yoyo" content_id="QuestNthRde" opted_in="true"  />        
      </Providers>
    </Channel>
  </Channels>
</CABS_ProviderOptIn_RS>

I am doing this but can't get to it.

$xmlpar = simplexml_load_string('I put this xml here');

var_dump($xmlpar);

foreach($xmlpar as $x)
{
    var_dump($x);
}
  • 写回答

2条回答 默认 最新

  • dsij89625 2013-08-14 06:49
    关注

    Reference:

    <?php
    
          $xmlpar = simplexml_load_string('I put this xml here');
          var_dump(toArray($xmlpar));
    
    
         function toArray(SimpleXMLElement $xml) {
             $array = (array)$xml;
    
             foreach ( array_slice($array, 0) as $key => $value ) {
                 if ( $value instanceof SimpleXMLElement ) {
                     $array[$key] = empty($value) ? NULL : toArray($value);
                 }
             }
             return $array;
         } 
    
    ?>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口