2017-10-16 4 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> 

私はsucessfullyすべてのデータを得るために、私のxmlを反復処理しています。 しかし、私はベイでフィルタリングできるようにしたい。私はあなたが唯一のベイ0車を取得するためにXPathを使用することができます

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

    } 

答えて

1

のような何かをしたい...

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

のXPath文は単にある - を持つ属性bayを持つ任意のCAR要素その中の値0。

SimpleXMLを使用して属性にアクセスする必要がある場合は、配列要素であるかのように属性にアクセスするため、上記のコードで$car['bay']になります。

+0

素晴らしい作品です!説明をいただきありがとうございます! –

関連する問題