javascript - 从 javascript 中的字符串加载 XML 在 IE 8 中工作正常,在 Firefox 中失败

标签 javascript xml internet-explorer firefox cross-browser

我有一个通过序列化 C# 对象生成的 XML 文件。

我想使用 JavaScript 解析此 XML。

当我尝试使用 javascript 将字符串加载为 XML 时,它在 IE 8 中工作正常,但在 Firefox 中失败。

这是我正在使用的代码

if (window.DOMParser)
{
parser = new DOMParser();
xmlDoc = parser.parseFromString(stringValue, 'text/xml');
}
else
{
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = 'false';
xmlDoc.loadXML(stringValue);");
}

知道为什么吗?我以为我已经在上面的代码中解决了浏览器不兼容的问题。 另外,这是XML file ,如果有帮助的话。

最佳答案

好吧,这是一个 super 奇怪的解决方案...... 结果 XML 文件之间有一些空格,并且 DOMParser.parseFromString() 方法以某种方式将所有空格加载为节点。

像这样调整我的 C# 序列化代码解决了这个问题:

XmlDocument tempXml = new XmlDocument();
tempXml.PreserveWhitespace = false;
tempXml.LoadXml(serializedXML);  
hdnSiteConfig.Value = tempXml.OuterXml;

关于javascript - 从 javascript 中的字符串加载 XML 在 IE 8 中工作正常,在 Firefox 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3663815/

相关文章:

javascript - 访问动态生成的 div id

JavaScript/JSON 接口(interface)描述语言

javascript - ckeditor实例无法销毁?

java - 如何使用 JAXB 解码 XMLGregorianCalendar?

windows - 指向 Samba 共享目录的 HTML 链接,适用于 Internet Explorer 7/8

javascript - 替换 JS 中的 setInterval 计时器

java - “@layout”未在 ExpandableLayout 库的 ExpandableLayout 的 XML 实现中定位资源

android - EditText 高度-长度

javascript - 防止 iE11 中的默认 'F1' 事件

JavaScript:哪些浏览器支持使用 Date.parse 解析 ISO-8601 日期字符串