simplexml_load_file : 如果主标签包含一些东西

simplexml_load_file : if main tag contains something

我不太确定标题,将在下几行中尝试解释。

我有一个这样的 xml 文件 :

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

我正在成功地遍历 xml 以获取所有数据。 但是,我希望能够按海湾过滤。我想做类似

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

    }

您可以使用 XPath 仅获取 bay 0 汽车...

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

XPath 语句很简单 - 具有属性 bay 且其中值为 0 的任何 CAR 元素。

如果您需要在其他情况下访问属性,使用 SimpleXML - 您可以像访问数组元素一样访问它们,因此在您上面的代码中它将是 $car['bay']