Le Monde du Java

          La Maison de René

          統計

          Amis

          Blogs

          Google

          Others

          學習

          日常生活

          留學法國

          好奇怪的Google API

          這幾天在試用Picasa WebAPI。在獲取相冊信息的時候總是報數據解析異常:
          com.google.gdata.util.ParseException: [Line 1, Column 262] Invalid root element, expected (namespace uri:local name) of (http://www.w3.org/2005/Atom:feed), found (http://www.w3.org/2005/Atom:entry
          查看xml文件確實有這個問題,但一時也找不出什么解決方案。而且想想Google應該也不會把這么一個低級錯誤留在那里。后來仔細對比文檔,終于發現了問題的所在。

          對于每個相冊都有一個唯一的Id,通過UserFeed可以獲取一個AlbumEntry對象的列表,也就是相冊的基本信息。AlbumEntry類中有一個getId()方法,用來獲取相冊的Id。之后再通過相冊的Id就能得到一個AlbumFeed,也就是相冊的詳細內容。其中包括了一個PhotoEntry對象列表,即照片的信息。

          但是,這個getId()并不僅僅返回一個Id值,而是一個URL字符串,格式如下:http://picasaweb.google.com/data/entry/api/user/<username>/albumid/<id>
          通過這個URL可以得到一個XML文檔,但該文檔的格式是錯誤的,無法完成解析。查看文檔后發現,正確的URL格式應該是:
          http://picasaweb.google.com/data/feed/api/user/<username>/albumid/<id>
          所以在調用getId()方法后,還要對返回URL字符串作切割來得到相冊的Id,再構造出正確的URL。問題是解決了,但卻不明白Google這樣設計的原因,或許是一個Bug

          posted on 2009-05-30 23:36 Rene 閱讀(330) 評論(0)  編輯  收藏 所屬分類: Programming

          主站蜘蛛池模板: 宝清县| 肥城市| 禄丰县| 松潘县| 南乐县| 盐津县| 磴口县| 夏河县| 杭锦旗| 开原市| 厦门市| 和田县| 丹寨县| 普格县| 马关县| 茶陵县| 江西省| 鄂温| 寿阳县| 宝山区| 和龙市| 城步| 冷水江市| 武平县| 随州市| 长岛县| 临西县| 紫金县| 马鞍山市| 南投市| 上饶市| 峨边| 宿迁市| 宁明县| 云林县| 军事| 锦州市| 邹城市| 惠安县| 贵溪市| 鸡西市|