我有一个通过序列化 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/