0

私はこの XML の問題を抱えています。値を見つけるためにブラウズする XML ファイルがあります。すべてが正常に機能しており、すべての子ノードを読み取ることができますが、このセクションで立ち往生しています。写真を含むXML部分は、属性を除いてすべてノードの同じ名前です。これに従って参照する方法を指定し、それぞれのファイル名の値を取得するにはどうすればよいですか

XML 
...
<Engine>
            <Fuel>Unleaded</Fuel>
            <Cylinders>4</Cylinders>
            <Induction>Normally aspirated</Induction>
          </Engine>
          <Photo order="1">
            <Filename>http://usedcarpics.s3.amazonaws.com/514SPINELLITOYOTA2/b5092588_2.jpg</Filename>
          </Photo>
          <Photo order="2">
            <Filename>http://usedcarpics.s3.amazonaws.com/514SPINELLITOYOTA2/b5092588_3.jpg</Filename>
          </Photo>
          <Photo order="3">
            <Filename>http://usedcarpics.s3.amazonaws.com/514SPINELLITOYOTA2/b5092588_4.jpg</Filename>
          </Photo>
          <Photo order="4">
            <Filename>http://usedcarpics.s3.amazonaws.com/514SPINELLITOYOTA2/b5092588_5.jpg</Filename>
          </Photo>
          <Photo order="5">
            <Filename>http://usedcarpics.s3.amazonaws.com/514SPINELLITOYOTA2/b5092588_6.jpg</Filename>

...

私のphpファイルには、値を見つけるのに役立つ次のコードがあります。

$import->stock_no =(string)$item->Invoice->Vehicle->VehicleStock;           

$import->image1 =(string)$item->Invoice->Vehicle->Photo->attributes(order="1")->Filename; 

もちろん機能しません。すべての写真ノードを参照するにはどうすればよいですか (値を取得する必要がある 8 つの写真があります)。

$import->image1 = (pohoto 1 の属性のファイル名)、画像 2、3 などに同じものを使用したい。

ありがとうございました。

4

3 に答える 3

0

これを試して

    <?php
    $xml = '<Engine>
                <Fuel>Unleaded</Fuel>
                <Cylinders>4</Cylinders>
                <Induction>Normally aspirated</Induction>
            </Engine>
            <Photo order="1">
                <Filename>http://usedcarpics.s3.amazonaws.com/514SPINELLITOYOTA2/b5092588_2.jpg</Filename>
              </Photo>
              <Photo order="2">
                <Filename>http://usedcarpics.s3.amazonaws.com/514SPINELLITOYOTA2/b5092588_3.jpg</Filename>
              </Photo>';

    $xml="<Wraper>".$xml."</Wraper>";
    $parse=new SimpleXMLElement($xml);

    echo "Engine Fuel:".$parse->Engine->Fuel;
    echo "<br/>Engine Cylinders:".$parse->Engine->Cylinders;
    echo "Photos<br/>";
    foreach ($parse->Photo as $photo)
    {

        echo "<br/>Photo Order: ".$photo->attributes();
        echo "<br/>Photo URL: ".$photo->Filename;
        echo "<hr/>";
    }
    ?>
于 2013-07-08T18:41:09.523 に答える