IE xml解析器取出空格

时间:2012-01-04 01:11:24

标签: internet-explorer xml-parsing

我注意到,即xml解析器的行为与其他浏览器不同。例如,xml文档中的空格本身不能作为文本节点并被删除。不幸的是,我可能有在xml文件中生成的空数据。我放入的那些空间使数据在其他浏览器中不会变为空。有没有办法在使用浏览器时保留这些空间?我不想修改xml文件本身。谢谢!

2 个答案:

答案 0 :(得分:1)

如果元素没有设置属性xml:space="preserve",则IE的行为是正确的。您只需在文档中设置此属性(在空间最重要的元素上)。

有关详细信息,请参阅section 2.10 of the XML standard

答案 1 :(得分:1)

根据MSDN http://msdn.microsoft.com/en-us/library/ms256097.aspx

默认情况下,Microsoft XML Core Services(MSXML)不支持xml:space属性。如果应用程序必须遵守xml:space属性,则必须在解析之前将DOMDocument对象的preserveWhiteSpace属性设置为True。

xmldoc= new ActiveXObject("Msxml2.DOMDocument.5.0");
xmldoc.preserveWhiteSpace = true;
xmldoc.load(url);