【问题标题】:Loading XML from string in javascript works fine in IE 8, fails in firefox从 javascript 中的字符串加载 XML 在 IE 8 中工作正常,在 Firefox 中失败
【发布时间】:2011-04-09 11:51:04
【问题描述】:

我有一个通过序列化 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,如果有帮助的话。

【问题讨论】:

    标签: javascript xml internet-explorer firefox cross-browser


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-29
      • 2017-09-27
      • 1970-01-01
      • 2018-07-15
      • 1970-01-01
      相关资源
      最近更新 更多