Google提供的Feeds,包括Picasa和Blogger,提供的Feeds都有点儿怪怪的,不仅仅是和其它的Atom有些不一样,而且不论是Atom(Blogger)还是RSS(Picasa),都无法取得文件内容。尽管能取得文件大小。有趣的是,当我把Feed的原码保存成XML文件放在我的服务器下,读取就没问题。真是怪哉!
有这么一个故事:一个工厂坏了台机器,谁也修不好,于是请了个专家,专家要价一万美金,工厂也只能答应了。于是专家打开机器,拧了一个螺丝,然后说:“好了”。在场的工人很不平:“这也值一万美金,我们都会干”,专家不紧不慢的说:“拧一颗螺丝,收费一美金,知道拧哪颗螺丝收费9999美金。
问题出在哪呢?我属于工人级别的,找不出来,后来对比了SXNA,把“Doc.Load(http.ResponseXML)”改成了“Doc.Load(http.ResponseBody)”,问题解决了,只是效率似乎有些问题,比先前慢了。
用“parseError.errorCode”返回的值来看,“Load(http.ResponseXML)”获得的文件不是XML格式,至少不标准,无法解析。至于为什么,就懒得再研究了。反正Google的Feeds总是怪怪的。反正借这次机会为主页加入了XML解析过程的分析也算没白忙活。
Google的Feeds怪怪的还没完,Picasa的Feeds在我解决完上述问题之后显示出来了,是RSS2.0标准的(怎么不是ATOM0.3的了呢?)。但Feeds的相片在IE下正常显示却在FireFox下只有个位相素大小,看来是提供的Feeds内部的样式代码有问题,尽管用替换或正则来修正是可以的,但为了一个Picasa自身的BUG搞特殊也太那个,等Google的Feeds形成垄断再说吧!
没有评论:
发表评论