dousi2553 2016-11-13 12:15 采纳率: 0%
浏览 51
已采纳

PHP中的XML不显示数组

I need to display an array PHP of data from file XML (https://pogoda.yandex.ru/static/cities.xml). I want in array all "id". Help me find the error. Thanks

<?php
 $data_file_city="https://pogoda.yandex.ru/static/cities.xml"; 
 $xml_city = simplexml_load_file($data_file_city); 

  foreach($xml_city->country as $key=>$value){
    foreach ($value->city as $key1=>$value1) {
      $id = array("$value1[country]");
        echo $id;
    }
  }
  • 写回答

1条回答 默认 最新

  • doucan8521 2016-11-13 12:27
    关注

    Every $value1 in your foreach is a SimpleXMLElement Object with attributes.

    To get attributes of such object use attributes function:

    $ids = array();
    $countries = array();
    foreach($xml_city->country as $key=>$value){
        foreach ($value->city as $key1=>$value1) { 
            $attrs = $value1->attributes();
    
            // Use `strval` function to cast attribute value to `string` type
    
            // get `id` attribute 
            $id = strval($attrs['id']);
    
            // get `country` attribute
            $country = strval($attrs['country']);
    
            echo $id, '<br />', $country;
    
            // add to array
            $ids[] = $id;
            $countries[] = $country;
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 我下载图形界面重启完就变成这样了,打字也打不了,动也动不了,该怎么解决(操作系统-centos)
  • ¥15 VBA中在窗体中遍历所有checkbox控件,提取出被选中的checkbox的caption值
  • ¥15 在Ubuntu上有什么命令,或者是系统文件能告诉我链接nvme ssd的pcie槽位是不是支持热插拔功能?
  • ¥15 ansys license许可证问题
  • ¥20 QQ号和密码都能正常登录微信 QQ号和密码登录微信显示密码错误
  • ¥15 qiankun主应用注册子应用提示跨域
  • ¥15 单片机RTOS Kernel与应用分离开发,Kernel如何调起应用?
  • ¥15 快手小店商家版APP怎么第三方APP跳转到指定用户聊天界面
  • ¥15 为什么AVL fire软件仿真时的步长改变了,仿真结果也会改变
  • ¥100 如何帮我写一个java小游戏