-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);
        }​

但目前我只能获取一张图片。

我怎样才能获取所有图像?

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 回答