我有数据来自XML文件,最初我使用jQuery Ajax函数来读取和处理XML文件中的数据...整个功能完美无缺,直到我尝试使用IE 9浏览器并拥有许多不同的解决方案但是只是没有通过XML文件读取数据。我使用数据类型($.browser.msie) ?
“text”和xml用于浏览器的其余部分,然后我为IE调用parseXml()但是没有发生....我真的努力并思考改变适合所有人的其他可能的方法!!!
function testXml() {
$.ajax({
type: 'GET',
url: 'XML_estatesIT_op4.xml',
dataType: ($.browser.msie) ? "text" : "xml",
success: function (xml) {
theXml = parseXml(xml);
$(theXml).find("property").each(function () {
var b1 = $(this).find('proptype').text();
alert(b1);
});
},
error: function () {
alert("An error occurred while processing XML file.");
}
});
}
function parseXml(xml) {
if (jQuery.browser.msie) {
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(xml);
xml = xmlDoc;
}
return xml;
}
我想知道我是否可以阅读
我没有使用JSON,任何人都可以指导我,如果我能做到这一点!!
非常感谢答案 0 :(得分:0)
最后我找到了解决方案,诀窍是为版本低于10的IE浏览器使用单独的代码XML。
因此,每次调用Ajax时,都会使用输入参数XML Dom或文本调用parseXml,具体取决于浏览器....如果当前浏览器是IE,则上传XML文档,根据Microsoft标准处理它并返回XML Ajax中的其余进程按预期进行!!
注意:jQuery 1.9不支持browser.msie,但您可以添加jquery-migrate-1.2.1.min.js以使其兼容或使用userAgent并查找哪个是当前浏览器
$.ajax({
type: 'GET',
url: 'XML_file.xml',
dataType: ($.browser.msie) ? "text" : "xml",
success: function (xml) {
var processedXML = parseXml(xml);
$(processedXML).find('my record').each(function () { //code }
});
function parseXml(xml) {
if ($.browser.msie) {
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "XML_file.xml", false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
xml = xmlDoc;
}
return xml;
}
我的原始问题在这里得到解答,我问我是否可以将xml转换为json,是的,你可以;一旦成功方法被调用... xml文档出现了,你可以使用xml-t0-json插件来做...