IE无法解析XML文件的解决办法
2012-07-21 18:39
344 查看
在项目中用到类似结构的XML文件
<?xml version="1.0" encoding="utf-8"?>
<root>
<record>
<AssetName>test1</AssetName>
<AssetBrand>test1</AssetBrand>
<AssetStandard>test1</AssetStandard>
<AssetMount>test1</AssetMount>
<AssetSuppliers>test1</AssetSuppliers>
<SpecialRequirements>test1</SpecialRequirements>
<InstallSite>test1</InstallSite>
<ApplyOrShift>采购</ApplyOrShift>
<Configuration>test1</Configuration>
<Register>确认到货</Register>
</record>
</root>
用
$(xml).find("record").each(function() {
var ele = $(this);
……
}进行解析的时候,在火狐、chrome等能够正常解析,但是在IE中却提示错误,在http://www.newmediafun.com/2009/07/parsing-xml-with-jquery-in-internet-explorer/上找到解决办法
$.ajax({
url: 'xml/myXML.xml',
dataType: ($.browser.msie)
? "text"
: "xml",
timeout: 1000,
error: function(data){
alert('Error occurred loading the XML');
},
success: function(data){
var xml;
if
(typeof data
== "string")
{
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async
= false;
xml.loadXML(data);
} else
{
xml = data;
}
// parse the xml
});
根据该方法的修改
var xml;
if (jQuery.browser.msie) {
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(test);
}
else {
xml = test;
}
$(xml).find("record").each(function() {
var ele = $(this);
……
}
另外,针对有的网友提出的在root节点外面再套一层<xml></xml>的方法也试过,在root下存在两个及其以上节点时没有问题,但是在root下只有一个rocord节点的时候还是有问题。所以还是推荐上面这种方法。不过在IE7以下的浏览器中,还需要完善xml对象的创建方法。
<?xml version="1.0" encoding="utf-8"?>
<root>
<record>
<AssetName>test1</AssetName>
<AssetBrand>test1</AssetBrand>
<AssetStandard>test1</AssetStandard>
<AssetMount>test1</AssetMount>
<AssetSuppliers>test1</AssetSuppliers>
<SpecialRequirements>test1</SpecialRequirements>
<InstallSite>test1</InstallSite>
<ApplyOrShift>采购</ApplyOrShift>
<Configuration>test1</Configuration>
<Register>确认到货</Register>
</record>
</root>
用
$(xml).find("record").each(function() {
var ele = $(this);
……
}进行解析的时候,在火狐、chrome等能够正常解析,但是在IE中却提示错误,在http://www.newmediafun.com/2009/07/parsing-xml-with-jquery-in-internet-explorer/上找到解决办法
$.ajax({
url: 'xml/myXML.xml',
dataType: ($.browser.msie)
? "text"
: "xml",
timeout: 1000,
error: function(data){
alert('Error occurred loading the XML');
},
success: function(data){
var xml;
if
(typeof data
== "string")
{
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async
= false;
xml.loadXML(data);
} else
{
xml = data;
}
// parse the xml
});
根据该方法的修改
var xml;
if (jQuery.browser.msie) {
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(test);
}
else {
xml = test;
}
$(xml).find("record").each(function() {
var ele = $(this);
……
}
另外,针对有的网友提出的在root节点外面再套一层<xml></xml>的方法也试过,在root下存在两个及其以上节点时没有问题,但是在root下只有一个rocord节点的时候还是有问题。所以还是推荐上面这种方法。不过在IE7以下的浏览器中,还需要完善xml对象的创建方法。
相关文章推荐
- 断开网络dom4j无法解析有网络dtd的xml文件的解决办法
- 使用PLSQL Developer时,“ORA-12154: TNS:无法解析指定的连接标识符”问题的一个解决办法
- Ubuntu“无法解析或打开软件包的列表或是状态文件”的解决办法
- LoadRunner11录制无法打开IE的解决办法
- QT5 LNK2019无法解析的外部符号 之解决办法
- win 03 系统 IIS无法解析PHP之解决办法
- LoadRunner11录制无法打开IE的解决办法
- Silverlight在IE中无法显示但在Firefox中正常的原因和解决办法
- LoadRunner无法正常启动IE的解决办法
- 关于瑞星ie保护黑白名单无法关闭的解决办法
- 无法解析的外部符号 "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)"的解决办法
- My97DatePicker 日期控件 出现 ”IE中 无法打开internet站点 。。。。。已终止操作 的解决办法“
- 解决IE中无法解析xml
- 64位win7下PL/SQL Developer 报“ORA-12154: TNS:无法解析指定的连接标识符”问题的一个解决办法
- 无法解析的外部符号 _main解决办法(转)
- IE用户google搜索提示Internet Explorer 无法显示该网页的解决办法
- PHP IE下载时提示”无法复制 无法读取源文件或磁盘”的解决办法
- Loadrunner11无法在win7 64位上启用ie解决办法
- LoadRunner11录制无法打开IE的解决办法