将ActiveXObject returnvalue转换为JQuery-Object以处理XML

时间:2015-03-24 12:05:52

标签: javascript jquery ajax xml activexobject

我在webproject上工作,需要读取xml文件。该项目使用的是网络服务器,现在可以在Internet Explorer上运行本地而无需使用网络服务器。

我已经设法在本地读取xml文件,但我需要更改输入的处理,因为我不能再使用.ajax()了。

我的旧代码是:



$.ajax({
  url: "myXML.xml",
  async: false,
  success: function(XMLMediaArray) {
    $(XMLmediaArray).find('element[...]').each(function(index, element) {
      var $myMedia = $(this);
      $myMedia.children().each(function(index, element) {
        var $media = $(this);
        //.....//
      });
    });
  }
})




我的本​​地访问新代码是:



try {
  xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async = "false";
  xmlDoc.load("myXML.xml");
  
  //How to process with find() ?
  
} catch (ex) {
  alert("exception:" + ex);
}




如何将返回值从xmlDoc.xml转换为可以像旧代码中那样处理的jquery-object。 我需要能够做到这样的事情:

$(xmlDoc.xml).find('page[name="' + service.pageName + '"]').each(function (index, element) { // ....//

感谢您的任何想法: - )

1 个答案:

答案 0 :(得分:0)

您可以创建一个新对象。

$xml = $(xmlDoc);
    var obj = {
        name: $xml.find('name').text(),
        age: $xml.find('age').text(),
        gender: $xml.find('gender').text()
    };