Le Monde du Java

          La Maison de René

          統(tǒng)計

          Amis

          Blogs

          Google

          Others

          學習

          日常生活

          留學法國

          好奇怪的Google API

          這幾天在試用Picasa WebAPI。在獲取相冊信息的時候總是報數(shù)據(jù)解析異常:
          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應該也不會把這么一個低級錯誤留在那里。后來仔細對比文檔,終于發(fā)現(xiàn)了問題的所在。

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

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

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

          主站蜘蛛池模板: 孙吴县| 特克斯县| 寻甸| 贡嘎县| 司法| 东阿县| 芷江| 长丰县| 原阳县| 曲水县| 家居| 甘德县| 临夏市| 务川| 安丘市| 星座| 罗城| 丰宁| 满城县| 曲沃县| 德钦县| 平度市| 镇江市| 英超| 扶绥县| 外汇| 毕节市| 太仓市| 江口县| 阜南县| 沾益县| 扬州市| 儋州市| 西乌珠穆沁旗| 上饶市| 白朗县| 游戏| 尼勒克县| 营口市| 马鞍山市| 兴业县|