2

リモート サーバーでホストされているライブ XML ドキュメントからデータを取得しようとしています。PHPを使用してこれを実行しようとしています。

XML ファイルのレイアウトは次のようになります。

<carparkData>
<Northwest>
<carpark name="PARNELL" spaces="51"></carpark>
<carpark name="ILAC" spaces=" "></carpark>
<carpark name="JERVIS" spaces="616"></carpark>
<carpark name="ARNOTTS" spaces="170"></carpark>
</Northwest>
<Northeast>
<carpark name="MARLBORO" spaces="185"></carpark>
<carpark name="ABBEY" spaces="97"></carpark>
</Northeast>
<Southwest>
<carpark name="THOMASST" spaces="193"></carpark>
<carpark name="C/CHURCH" spaces="51"></carpark>
</Southwest>
<Southeast>
<carpark name="SETANTA" spaces=" "></carpark>
<carpark name="DAWSON" spaces="113"></carpark>
<carpark name="TRINITY" spaces="178"></carpark>
<carpark name="GREENRCS" spaces="446"></carpark>
<carpark name="DRURY" spaces="562"></carpark>
<carpark name="B/THOMAS" spaces="168"></carpark>
</Southeast>
</carparkData>

<carpark>PHP を使用して、最初にデータを取得してから、タグ内に含まれる属性をキャッチするループを作成しようとしました。

<?php

$data = simplexml_load_file('http://www.dublincity.ie/dublintraffic/cpdata.xml.');

foreach ($data->carpark[0]->attributes() as $a => $b) 
{
        echo $a,'="',$b,"\"\n";
}
4

2 に答える 2

1

-nodes に直接アクセスするxpathために使用します。<carpark>

$xml = simplexml_load_string($x); // assume XML in $x

$carparks = $xml->xpath("//carpark");

foreach ($carparks as $carpark) 
    echo $carpark['name'] . " has " . $carpark['spaces'] . " spaces.<br />";

動作を確認してください: http://codepad.viper-7.com/JUB4Jp

于 2013-04-24T16:22:20.793 に答える