-4

私は次のようなXMLファイルを持っています:

<bracelets>
     <photo filename="b1.jpg" thumbnail="a1.jpg" description="aa" />
     <photo filename="b2.jpg" thumbnail="a2.jpg" description="aa" />
     <photo filename="b3.jpg" thumbnail="a3.jpg" description="aa" />
     <photo filename="b4.jpg" thumbnail="a4.jpg" description="aa" />
</bracelets>

すべての画像名をページにフェッチしたい.php

今使っています。

$bracelets = simplexml_load_file($bracelets_xml);
        x = xmlDoc.getElementsByTagName('photo')[0].attributes;
        for (i = 0; i < x.length; i++) {
            document.write(x[i].childNodes[0].nodeValue);
        }​

しかし、現在、私は1つの画像しか取得できません。

代わりにすべての画像を取得するにはどうすればよいですか?

4

3 に答える 3

1

PHPがオプションの場合、SimpleXMLをもう検討しましたか?

あなたの場合:

    $bracelets_xml = <<<XML
    <bracelets>
            <photo filename="b1.jpg" thumbnail="a1.jpg" description="aa" />
            <photo filename="b2.jpg" thumbnail="a2.jpg" description="aa" />
            <photo filename="b3.jpg" thumbnail="a3.jpg" description="aa" />
            <photo filename="b4.jpg" thumbnail="a4.jpg" description="aa" />
    </bracelets>
XML;

$bracelets = new SimpleXMLElement($bracelets_xml);

foreach($bracelets -> photo as $photo) {
    $counter++;
    echo "Photo " . $counter . ":\r\n";
    echo "Filename : " . $photo['filename'] . "\r\n";
    echo "Thumbnail : " . $photo['thumbnail']. "\r\n";
    echo "Description : " . $photo['description']. "\r\n";
}

明らかに、上記の出力は希望どおりではありませんが、コンテキストに応じて希望どおりに出力できます。

于 2012-02-15T06:30:06.607 に答える
0

によって返されるすべての要素をループしますxmlDoc.getElementsByTagName('photo')

于 2012-02-15T06:28:05.067 に答える
0

この行:

x=xmlDoc.getElementsByTagName('photo')[0].attributes; 

最初の写真を取得します。それからあなたはそれで物事をします。

これを、属性をループするために持っているようなforループに変更します。

于 2012-02-15T06:40:58.867 に答える