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 に答える