jQuery $(XMLDoc).xml 不适用于 ie9

发布于 2024-11-09 02:11:50 字数 637 浏览 0 评论 0原文

我正在尝试从多行数据集中检索一行的原始 XML 作为字符串。 我正在使用 jQuery(刚刚升级到 1.6.1,看看这是否解决了问题但没有成功),并且由于使用 ie9,我从下面的代码中得到结果 personsArray[pid] = $(this).xml;< /code> 是“未定义”。有没有解决这个问题的方法。任何帮助将不胜感激,非常感谢。

$(XMLdata).find('PersonRow').each(function(){
    var pid = $(this).find('PersonId').text();

    myData[i] = {
        id: $(this).find('PersonId').text(), 
        name: $(this).find('Name').text(), 
        dob: $(this).find('BirthDate').text(),
        address: $(this).find('MainAddress').text(),
        telNo: $(this).find('MainTelNumber').text()
    };

    personsArray[pid] = $(this).xml;
    i++;
});

I'm trying to retrieve the original XML for a row as a string from a multi row data set.
I'm using jQuery (just upgraded to 1.6.1 to see if this fixed the issue without success) and since using ie9 the result I get from the below code personsArray[pid] = $(this).xml; is 'undefined'. Is there a workaround for this at all. Any help would be appreciated, Many Thanks.

$(XMLdata).find('PersonRow').each(function(){
    var pid = $(this).find('PersonId').text();

    myData[i] = {
        id: $(this).find('PersonId').text(), 
        name: $(this).find('Name').text(), 
        dob: $(this).find('BirthDate').text(),
        address: $(this).find('MainAddress').text(),
        telNo: $(this).find('MainTelNumber').text()
    };

    personsArray[pid] = $(this).xml;
    i++;
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

玩心态 2024-11-16 02:11:50

试试这个...

personsArray[pid] = $(this).xml2;

(function($){         
  $.fn.xml2 = function(){  
    //alert ("TEST");
    if (window.XMLSerializer) // Internet Explorer 9 and Gecko
    {
        //alert ("MSIE 9, Gecko, XML FINDER");          
        var s="";
        if (this.length)
            (((typeof all!='undefined')&&all)?this:jQuery(this[0]).contents()).each(function(){
                s+=(new window.XMLSerializer()).serializeToString(this);
            });
        return s;
    } else {
        if (window.DOMParser) 
        {
            // Internet Explorer 8
            //alert ("MSIE 8, XML FINDER");
            var s="";
            if (this.length)
                (((typeof all!='undefined')&&all)?this:jQuery(this[0]).contents()).each(function(){
                    s+=window.ActiveXObject?this.xml:(new XMLSerializer()).serializeToString(this);
                });
            return s;
        }
        else // Internet Explorer OLD
        {           
            // Internet Explorer 8 and below
            //alert ("MSIE OLDER, XML FINDER");
            var s="";
            if (this.length)
                (((typeof all!='undefined')&&all)?this:jQuery(this[0]).contents()).each(function(){
                    s+=window.ActiveXObject?this.xml:(new XMLSerializer()).serializeToString(this);
                });
            return s;
        }
    }       
  };
})(jQuery);

祝你好运。

Try this...

personsArray[pid] = $(this).xml2;

(function($){         
  $.fn.xml2 = function(){  
    //alert ("TEST");
    if (window.XMLSerializer) // Internet Explorer 9 and Gecko
    {
        //alert ("MSIE 9, Gecko, XML FINDER");          
        var s="";
        if (this.length)
            (((typeof all!='undefined')&&all)?this:jQuery(this[0]).contents()).each(function(){
                s+=(new window.XMLSerializer()).serializeToString(this);
            });
        return s;
    } else {
        if (window.DOMParser) 
        {
            // Internet Explorer 8
            //alert ("MSIE 8, XML FINDER");
            var s="";
            if (this.length)
                (((typeof all!='undefined')&&all)?this:jQuery(this[0]).contents()).each(function(){
                    s+=window.ActiveXObject?this.xml:(new XMLSerializer()).serializeToString(this);
                });
            return s;
        }
        else // Internet Explorer OLD
        {           
            // Internet Explorer 8 and below
            //alert ("MSIE OLDER, XML FINDER");
            var s="";
            if (this.length)
                (((typeof all!='undefined')&&all)?this:jQuery(this[0]).contents()).each(function(){
                    s+=window.ActiveXObject?this.xml:(new XMLSerializer()).serializeToString(this);
                });
            return s;
        }
    }       
  };
})(jQuery);

Best of luck.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文