Internet explorer 针对IE11的XML数据岛支持/替换解决方案

Internet explorer 针对IE11的XML数据岛支持/替换解决方案,internet-explorer,cross-browser,activex,Internet Explorer,Cross Browser,Activex,我正在尝试为我正在开发的web应用程序目前存在的一个问题找到一个解决方案。 我们在解决方案中使用了许多XML数据孤岛,这些数据孤岛目前已被MS淘汰(请参阅) 我尝试了以下方法: 1) 使用DOMParser,但不幸的是IE11不支持它,到目前为止,所有的解决方法都指向了当前的方法:newActiveXObject(“Microsoft.XMLDOM”)不再受支持 2) 使用hack,使用页面中的x-ua-compatible将此页面作为旧文档(请参阅) 3) 找到一个库/javascript/j

我正在尝试为我正在开发的web应用程序目前存在的一个问题找到一个解决方案。 我们在解决方案中使用了许多XML数据孤岛,这些数据孤岛目前已被MS淘汰(请参阅)

我尝试了以下方法:

1) 使用DOMParser,但不幸的是IE11不支持它,到目前为止,所有的解决方法都指向了当前的方法:
newActiveXObject(“Microsoft.XMLDOM”)不再受支持

2) 使用hack,使用页面中的
x-ua-compatible
将此页面作为旧文档(请参阅)

3) 找到一个库/javascript/jquery来帮助我处理这个问题,除了上面的解决方案之外,我没有找到任何其他方法来应对这种情况

现在我的问题是:

  • 我有没有办法处理IE 11中的XML数据孤岛
  • 是否有任何解决方法可以解决上述第1)点和第2)点对IE 11的影响
  • 对于跨浏览器且不需要完全重写应用程序的XML数据孤岛,是否有真正的替代方案

  • 迄今为止找到的最佳方法是这样回答:

    
    XML数据块演示
    行项目1
    1.25
    行项目2
    2.48
    函数runDemo(){
    var orderSource=document.getElementById(“采购订单”).textContent;
    var parser=新的DOMParser();
    var doc=parser.parseFromString(orderSource,“application/xml”);
    var lineItems=doc.getelementsbytagnames(“http://example.mozilla.org/PurchaseOrderML“,”行项目“);
    var firstPrice=lineItems[0]。GetElementsByTagnames(“http://example.mozilla.org/PurchaseOrderML“,”价格“[0]。文本内容;
    document.body.textContent=“采购订单包含“+lineItems.length+”行项目。第一行项目的价格为“+firstPrice+”;
    }
    演示没有运行
    
    <!DOCTYPE html>
    <html>
    <head>
    <title>XML Data Block Demo</title>
    <script id="purchase-order" type="application/xml">
    <purchaseOrder xmlns="http://example.mozilla.org/PurchaseOrderML">
      <lineItem>
        <name>Line Item 1</name>
        <price>1.25</price>
      </lineItem>
      <lineItem>
        <name>Line Item 2</name>
        <price>2.48</price>
      </lineItem>
    </purchaseOrder>
    </script>
    <script>
    function runDemo() {
      var orderSource = document.getElementById("purchase-order").textContent;
      var parser = new DOMParser();
      var doc = parser.parseFromString(orderSource, "application/xml");
      var lineItems = doc.getElementsByTagNameNS("http://example.mozilla.org/PurchaseOrderML", "lineItem");
      var firstPrice = lineItems[0].getElementsByTagNameNS("http://example.mozilla.org/PurchaseOrderML", "price")[0].textContent;
      document.body.textContent = "The purchase order contains " + lineItems.length + " line items. The price of the first line item is " + firstPrice + ".";
    }
    </script>
    </head>
    <body onload="runDemo()";>
    Demo did not run
    </body>
    </html>