【问题标题】:Load and parse xml based on string, IE基于字符串、IE加载和解析xml
【发布时间】:2012-05-18 05:50:18
【问题描述】:

我尝试根据以下示例在 IE 中解析 xml 字符串:http://dean.edwards.name/weblog/2006/04/easy-xml/

<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">

    $(function(){

        var xml = document.createElement("xml");
        xml.src = '<test><node1>Test</node1></test>';
        document.body.appendChild(xml);
        var xmlDocument = xml.XMLDocument;
        document.body.removeChild(xml);

    });

</script>
</head>
<body>

</body>
</html>

Fiddle

但是,它不起作用。我没有收到任何错误,但什么也没发生。

有没有什么方法可以在 IE 中基于有效的 xml 字符串在客户端生成 XML 文件? activeX 是唯一的选择吗?

提前致谢

【问题讨论】:

    标签: javascript jquery xml internet-explorer activex


    【解决方案1】:

    ActiveX 无疑是一种选择。代码类似于:

    var xml = '<test><node1>Test</node1></test>';
    var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async = "false";
    xmlDoc.loadXML(xml);
    
    alert(xmlDoc.documentElement.nodeName);
    

    【讨论】:

    • 我的主要问题是 IE 没有将其显示为 XML。我想这是一个 mime 类型的问题:知道如何将字符串呈现为 xml 文件吗?
    • @Johan:我不太明白你想做什么,抱歉。你能详细说明一下吗?
    • 我希望 xml 字符串在新窗口中打开,在 IE 中呈现为常规 xml 文档,而不是 HTML 页面。就像用 IE 打开任何 XML 文件一样。
    • 啊,好的。我不确定这是否容易实现。我找到的最好的是stackoverflow.com/questions/5581592/…velocityreviews.com/forums/…
    【解决方案2】:

    我工作的一个变体不是创建一个 xml 对象,而是创建一个包装器 div:

    <script type="text/javascript">
      $(function(){
        var div, xmlDocument;
        div = document.createElement('div');
        div.innerHTML = '<xml><test><node1>Test</node1></test></xml>';
        document.body.appendChild(div);
    
        xmlDocument = div.firstChild.XMLDocument;
        document.body.removeChild(div);
      });
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多