使用jQuery解析XML之类的内容

前端之家收集整理的这篇文章主要介绍了使用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());
});

猜你在找的jQuery相关文章