微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用jQuery解析XML之类的内容

我从一个输入值获得此内容
var xml_url  = $("input").val();
alert(xml_url);

输出

<trans>
    <result>
        <item1>1</item1>
        <item2>content</item2>
        <item3>NA</item3>
        <item4>0</item1>
    </result>
</trans>

该结构是一个XML文件.我想得到这些数据.

我有这个代码

<script language="javascript">
    $(document).ready(function(){
        var xml_url  = $("input").val();
          $(xml_url).find("result").each(function()  
          {         
            alert($(this).find("item3').").text());
          });
    });
</script>

它在firefox中工作正常,但在IE7 / 8中没有.

有什么建议么?
非常感谢.

解决方法

永远不要依赖jQuery来解析XML.

看到

> How do I parse xml with jQuery?
> jQuery won’t parse xml with nodes called option

使用适当的解析器来完成这项工作,然后使用jQuery查找所需的节点.您提供的示例适用于Firefox,但不适用于Chrome,Safari或IE.下面的函数将从字符串构造XML文档.

function parseXML(text) {
    var doc;

    if(window.DOMParser) {
        var parser = new DOMParser();
        doc = parser.parseFromString(text,"text/xml");
    }
    else if(window.ActiveXObject) {
        doc = new ActiveXObject("Microsoft.XMLDOM");
        doc.async = "false";
        doc.loadXML(text);
    }
    else {
        throw new Error("Cannot parse XML");
    }

    return doc;
}

用于:

// Parse and construct a Document object
var xml = parseXML(xml_url);

// Use jQuery on the object Now
$(xml).find("result").each(function()  
{
    alert($(this).find("item3").text());
});

原文地址:https://www.jb51.cc/jquery/179096.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐