Как разобрать строку XML в аддоне Firefox с помощью Add-on SDK

Я пытаюсь создать FF AddOn, который приносит некоторые XML-данные с веб-сайта. Но я не могу найти способ разобрать свой RESPONSE. Сначала я использовал DOMParser, но получил эту ошибку:

ReferenceError: DOMParser не определен.

Кто-то предложил использовать XMLHttpRequest, потому что парсинг выполняется автоматически, но тогда я получаю другую ошибку:

Error: Произошло исключение. Traceback (last recent call last):
Файл "resource://jid0-a23vmnhgidl8wlymvolsst4ca98-at-jetpack/api-utils/lib/cuddlefish.js", строка 208, в require let module, manifest = this.manifest[base], requirer = this.modules[base]; TypeError: this.manifest is undefined

Я действительно не знаю, что еще делать. Должен отметить, что я использую AddOn Builder для достижения этой цели.

Ниже приведен код, который, похоже, не работает.

Вариант 1:

exports.main = function() {

require("widget").Widget({
    id: "widgetID1",
    label: "My Mozilla Widget",
    contentURL: "http://www.mozilla.org/favicon.ico",
    onClick: function(event) {

    var Request = require("request").Request;
    var goblecontent = Request({
      url: "http://www.myexperiment.org/search.xml?query=goble",
      onComplete: function (response) {
        var parser = new DOMParser(); 
        var xml = parser.parseFromString(response.text, "application/xml");  

        var packs = xml.getElementsByTagName("packs");
        console.log(packs);
      }
    });

    goblecontent.get();

    }
});

};

Вариант 2:

exports.main = function() {
    require("widget").Widget({
        id: "widgetID1",
        label: "My Mozilla Widget",
        contentURL: "http://www.mozilla.org/favicon.ico",
        onClick: function(event) {

            var request = new require("xhr").XMLHttpRequest();
            request.open("GET", "http://www.myexperiment.org/search.xml?query=goble", false);
            request.send(null);  

            if (request.status === 200) {  
              console.log(request.responseText);  
            }  
        }
    });
};
9
задан Wladimir Palant 7 February 2012 в 08:22
поделиться