我正在尝试从多行数据集中检索行的原始XML作为字符串。
我正在使用jQuery(刚刚升级到1.6.1,看看这是否解决了这个问题没有成功),并且因为使用ie9,我从下面的代码personsArray[pid] = $(this).xml;
获得的结果是'undefined'。有没有针对此的解决方法。任何帮助将不胜感激,非常感谢。
$(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++;
});
答案 0 :(得分:1)
试试这个......
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);
祝你好运。