Разбор ATOM-канала в Dojo? - PullRequest
       21

Разбор ATOM-канала в Dojo?

0 голосов
/ 29 января 2010

Я пытаюсь проанализировать подачу ATOM и отобразить нужные детали. После некоторого поиска я не смог найти способ сделать это в Dojo, поэтому я написал эту реализацию, чтобы обойтись тем временем (var xml содержит канал 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.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 29 января 2010

Вы пробовали dojox.atom ?

0 голосов
/ 14 марта 2013

Я понимаю, что это старый пост, но я подумал, что добавлю ответ, если кто-то наткнется на него, как я только что сделал.

Я делаю следующее, когда у меня есть подача атома:

// 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* для получения или установки данных.

...