2017-10-16 100 views
0

我不太確定標題,會嘗試在下一行中解釋。simplexml_load_file:如果主標籤包含東西

我有這樣的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++; 
    } 

    } 

回答

1

您可以使用XPath只獲取海灣0車...

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

的XPath語句很簡單 - 有一個屬性bay與任何CAR元素值爲0。

如果您需要訪問屬性,在其他情況下,用SimpleXML - 你訪問它們,就像它們是數組元素,所以它會在你上面有代碼$car['bay']

+0

太棒了!非常感謝你的解釋! –