dqq9695 2017-10-16 09:20
浏览 20
已采纳

simplexml_load_file:如果主标记包含某些内容

I'm not so sure about the title, will try to explain in the next lines.

I have an xml file like this :

 <CAR park="3" id="1" bay="0">
    <SITE_ID>0</SITE_ID>
    <SITE_NAME>Car Seller 1</SITE_NAME>
    . . .
 </CAR>

I am sucessfully iterating through my xml to get all the data. But, I want to be able to filter by bays. I want to do something like

$xml = simplexml_load_file('myfile.xml');
$x = 1;
    foreach($xml as $car) {
    if($car->bay == '0'){
        echo $car->SITE_ID;
    $x++;
     }

    }
  • 写回答

1条回答 默认 最新

  • doubi2228 2017-10-16 09:48
    关注

    You can use XPath to fetch only the bay 0 cars...

    $bay0 = $xml->xpath('//CAR[@bay="0"]');
    foreach ( $bay0 as $car )   {
        echo $car->SITE_ID.PHP_EOL;
    }
    

    The XPath statement is simply - any CAR element that has an attribute bay with the value 0 in it.

    In case you need to access attributes in other cases, with SimpleXML - you access them as though they are array elements, so it would be $car['bay'] in the code you had above.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 python使用pulp线性优化时报错
  • ¥15 开源或低价数据中台哪个最好
  • ¥15 arduino编程出现字符串疑似覆盖现象
  • ¥15 我的b站在没有碰到屏幕的情况下偶尔会自动跳出进度条,就像在屏幕上点了一下一样,但我并没有点。而且视频进度并没有变。这可能是什么原因造成的?
  • ¥30 STK matlab python仿真
  • ¥15 关于IMageEnView 图标定位问题
  • ¥20 求解答(matlab)
  • ¥30 ffmpeg库使用过程中遇到的问题
  • ¥15 pyqt5 中python如何通过Qtwebchannel主动发消息给web前端
  • ¥15 关于HTML中title获取xml内容的问题