iT邦幫忙

DAY 27
6

用 HTML5 和 JavaScript 學習開發 Windows 8 Apps系列 第 26

Day27 Split App 實作官方範例 Blog Reader (4)

繼續我們的 blog reader 剩下的 data.js
今天要繼續補上 getBlogPosts( )。
如有任何問題,我建議以官方的範例為主。
http://msdn.microsoft.com/en-us/library/windows/apps/hh974582.aspx
哎...怎麼辦...有種越來越看不懂的趨勢。Orz
getBlogPosts 這個 function 主要是要用來解析抓到的 blogs 的 xml 資料。
這邊其實是比較不完整的程式碼, 引用於官方。但註解是自己寫的。

(function () {
//補腦加上昨天以及前天的內容的內容
//昨天寫到 acquireSyndication()

    function getBlogPosts() {
        //當 getFeeds取得所有 blogs 資料之後
        getFeeds().then(function () {
            blogs.forEach(function (feed) {
            feed.dataPromise.then(function (articlesResponse) {
                var articleSyndication = articlesResponse.responseXML;
                //responseXML 取得文章
                //querySelector 取得 blog 的標題跟最後修改日
                feed.title = articleSyndication.querySelector("feed > title").textContent;
                var published = articleSyndication.querySelector("feed > entry > published").textContent;

                var date = new Date(published);
                //Globalization.DateTimeFormatting.DateTimeFormatter 
                //查了一下,才知道原來是用來轉換上次更新的日期...
                var dateFmt = new Windows.Globalization.DateTimeFormatting.DateTimeFormatter(
                   "month.abbreviated day year.full");
                var blogDate = dateFmt.format(date);
                feed.updated = "Last updated " + blogDate;
                // Get the blog posts
                getItemsFromXml(articleSyndication, blogPosts, feed);
                });
            });
        });
        return blogPosts;
    }
//待續
//後面的部分我可能接下來不會介紹
})();

總之,整體的 data.js
簡單的架構如此:
1.定義變數跟函數
2.設定資料的綁定 WinJS.Binding.List()
3.處理資料,如 getFeeds( )
4.acquireSyndication( )非同步的取得該 URL 的資料(使用 WinJS.xhr)
5.getBlogFeeds( ), 取得 blogs 的資料然後抓標題,更新時間
6.getItemsFromXml( ) 將 blogs 的資料存到object,如已經定義好的 title, author, month, day, content...等等。

明天可能不會介紹到剩下的程式。
直接把實作的成果照片po起來給大家看一下是怎麼回事~


上一篇
Day26 Split App 實作官方範例 Blog Reader (3)
下一篇
Day28 關於 JavaScript 清空 Array 的方法
系列文
用 HTML5 和 JavaScript 學習開發 Windows 8 Apps30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
ted99tw
iT邦高手 1 級 ‧ 2013-10-12 20:56:51

yiying提到:
越來越看不懂

不都是ascii字符集嗎...冷

yiying iT邦新手 1 級 ‧ 2013-10-12 21:01:46 檢舉

OrzOrz 是火星文...xd

ted99tw iT邦高手 1 級 ‧ 2013-10-12 21:03:30 檢舉

火星文不能用左腦看啦~XD

欲知詳情,請待下回分曉.
各位客官,請打賞酒錢~~~醉

0
0

我要留言

立即登入留言