0

simplexml_load_file を使用して、xml ファイルの情報を変数に取得しようとしています。xml ファイルの構造は次のとおりです。

<root>
    <item>
        <sku></sku>
        <weight></weight>
        <Price></Price>
        <media>
            <images></images>
            <images></images>
            <images></images>
        </media>
        <short_description>
            <![CDATA[]]>
        </short_description>
        <description>
            <![CDATA[]]>
        </description>
    </item>
    <item>
        <sku></sku>
        <weight></weight>
        <Price></Price>
        <media>
            <images></images>
            <images></images>
            <images></images>
        </media>
        <short_description>
            <![CDATA[]]>
        </short_description>
        <description>
            <![CDATA[]]>
        </description>
    </item>
</root>

これまでに行ったことは次のとおりですが、すべての画像ではなく、各アイテムの最初の画像のみを取得しています。それとは別に、それはうまく機能しているようです。

$xml_url="accessories.xml";
$xml = simplexml_load_file($xml_url);
foreach($xml->item as $_item){
    echo $_item->sku . " - ";
    echo $_item->weight . " - ";
    echo $_item->Price . " <br/>";
    //echo $_item->short_description . " <br/><br/>";
    foreach($_item->media as $_media){
        echo $_media->images . "<br/>";
    }
}

私のphpとxmlのスキルはかなり限られているので、助けていただければ幸いです。
ありがとう

4

2 に答える 2

1

次のループを試してください。

foreach($_item->media->children() as $_img){
    echo $_img . "<br/>";
}

これにより、ループを 2 回行う必要がなくなります。

于 2013-09-10T11:49:52.323 に答える