2010-01-28 21 views
0

我想解析一個ATOM feed並顯示我需要的相關部分。做一些搜索後,我無法找到一種方式,道場要做到這一點,所以我寫了這個實現在此期間獲得通過(VAR XML包含Atom提要):解析Dojo中的ATOM提要?

var names = this.getArray(xml.getElementsByTagName("name")); 
var contents = this.getArray(xml.getElementsByTagName("content")); 
var emails = this.getArray(xml.getElementsByTagName("email")); 
var pubTimes = this.getArray(xml.getElementsByTagName("published")); 

getArray: function(data) { 
    var theArray = []; 
    dojo.forEach(data, function (entry) { 
     theArray.push(entry); 
    }); 
    return theArray; 
} 

這些數組,然後使用打印格式化版本的ATOM訂閱源。我是Javascript和Dojo的新手,我確信有一種更好/更簡單的方法來解析XML。

在此先感謝。

回答

0

我意識到這是一箇舊帖子,但我想我會添加一個答案,以防有人絆倒它,就像我剛纔那樣。

我執行以下操作時,我有一個原子飼料:

// Build xml feed from a document element (in this case `xml`) 
var feed = new dojox.atom.io.model.Feed(); 
feed.buildFromDom(xml); 

// Convert to json 
var jsonString = dojo.toJson(feed, true); 
var jsonObj = JSON.parse(jsonString); 

然後,我可以很容易地使用jsonObj.*key*來獲取或設置中的數據。