将ActiveXObject返回值转换为JQuery Object以处理XML

Convert ActiveXObject returnvalue to JQuery-Object to process XML

本文关键字:Object 处理 XML JQuery ActiveXObject 返回值 转换      更新时间:2023-09-26

我从事一个web项目,需要读取一个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对象,该对象可以像旧代码中那样进行处理。我需要能够做一些类似的事情:

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

感谢您的任何想法:-)

您可以创建一个新对象。

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