在Dojo中解析ATOM feed?

时间:2010-01-28 22:31:27

标签: javascript xml dojo atom-feed

我正在尝试解析ATOM提要并显示我需要的相关部分。在做了一些搜索之后,我找不到在Dojo中执行此操作的方法,所以我在此期间写了这个实现(var xml包含原子提要):

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。

提前致谢。

2 个答案:

答案 0 :(得分:1)

您是否尝试过dojox.atom

答案 1 :(得分: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*来获取或设置数据。