0

我在使用来自 Google Picasa 服务的 API 时遇到了困难。

假设我不想通过 jquery 显示这些值:

<entry>
<id>
    https://picasaweb.google.com/data/entry/api/user/userID/albumid/albumID/photoid/5813338978197482482
</id>
<exif:tags>
    <exif:time>1203311251000</exif:time>
    <exif:imageUniqueID>uniqueID</exif:imageUniqueID>
</exif:tags>
<media:group>
    <media:content url="https://lh6.googleusercontent.com/Penguins.jpg" height="384" width="512" type="image/jpeg" medium="image"/>
    <media:credit>user</media:credit>
    <media:description type="plain"/>
    <media:keywords/>
    <media:thumbnail url="https://lh6.googleusercontent.com/s72/Penguins.jpg" height="54" width="72"/>
    <media:thumbnail url="https://lh6.googleusercontent.com/s144/Penguins.jpg" height="108" width="144"/>
    <media:thumbnail url="https://lh6.googleusercontent.com/s288/Penguins.jpg" height="216" width="288"/>
    <media:title type="plain">Penguins.jpg</media:title>
</media:group>
</entry>

从条目树中读取值时没有问题,但麻烦从 exif:tags 或 media:group 开始。这是读取xml的函数

$(xml).find('entry').each(function()
    {
        var item = ""
        item += "<li style='float:left;'>";
        item += $(this).find('title').text()    
        item += "</li>";
        $(".albums").append(item);
    });  

谢谢

4

1 回答 1

1

水晶球时间!我你正在尝试做这样的事情:

var $xml = $(/* get xml string from somewhere */);
var $entryId = $xml.find('entry > id'); // works
var $entryExifTags = $xml.find('entry > exif:tags'); // doesn't work

这是因为某些字符,包括:,在 jQuery 选择器中具有特殊含义。因此,您需要逃避它们

var $entryExifTags = $xml.find('entry > exif\\:tags');
于 2012-11-21T21:16:39.380 回答