【问题标题】:Parsing XML in IE with jQuery使用 jQuery 在 IE 中解析 XML
【发布时间】:2014-08-25 11:09:02
【问题描述】:

我在使用 jQuery 解析 xml 时遇到了一些问题。我有一段 xml 文本,我想提取某个节点的值。但这在 IE 中不起作用。它在 Chrome 中运行良好。

$(function () {
    var xmlText = '<?xml version="1.0" encoding="UTF-8" ?><dog_info><keyspec><keycaps><aes /><v-clock /></keycaps><dog>';
    xmlText += '<dogid>566578105</dogid><memoryinfo><access>read/write</access>';
    xmlText += '<fileid>65524</fileid><size>128</size></memoryinfo></dog></keyspec></dog_info>';
    alert($(xmlText).find("dogid").text()); //this do not work in ie
})

【问题讨论】:

  • IE(无论如何是旧版本)往往不喜欢在 HTML 规范中未定义的任意命名元素,因此您不能可靠地对普通旧 xml 元素使用 HTML 解析。

标签: jquery xml internet-explorer cross-browser


【解决方案1】:

问题可能是使用html解析xml内容,所以尝试使用$.parseXML()

$(function () {
    var xmlText = '<?xml version="1.0" encoding="UTF-8" ?><dog_info><keyspec><keycaps><aes /><v-clock /></keycaps><dog>';
    xmlText += '<dogid>566578105</dogid><memoryinfo><access>read/write</access>';
    xmlText += '<fileid>65524</fileid><size>128</size></memoryinfo></dog></keyspec></dog_info>';

    var doc = $.parseXML(xmlText);
    var $xml = $(doc);

    alert($xml.find("dogid").text()); //this do not work in ie
})

【讨论】:

    【解决方案2】:

    你可以试试这个吗?

     <script src="jquery.min.js"></script>
    <script>
        $(function(){
            var xmlText= '<?xml version="1.0" encoding="UTF-8" ?><dog_info><keyspec><keycaps><aes /><v-clock /></keycaps><dog>';
            xmlText += '<dogid>566578105</dogid><memoryinfo><access>read/write</access>';
            xmlText += '<fileid>65524</fileid><size>128</size></memoryinfo></dog></keyspec></dog_info>';
            var xmlDoc = $.parseXML(xmlText); // convert string to xml document first
            alert($(xmlDoc).find("dogid").text());//this do not work in ie
        })
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-01
      • 2011-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多