【发布时间】:2016-11-28 22:25:19
【问题描述】:
我有一个 XML 文件,我需要将其读入字符串并将该字符串传递给 DOMParser 对象。所有这些在 FF 和 Chrome 中都可以正常工作,但 IE 和往常一样复杂。
以这个 XML 结构为例:
<person>
<firstname>John</firstname>
<lastname>Doe</lastname>
</person>
FireFox 和 Chrome 给我这个字符串:
"<person>
<firstname>John</firstname>
<lastname>Doe</lastname>
</person>"
IE 给了我这个字符串:
"<person>\n <firstname>John</firstname>\n <lastname>Doe</lastname>\n </person>"
如您所见,IE 显式打印出 \n 并将所有内容打印在一行上。当我传递给 DOMParser 时,这会导致问题,因为它不知道如何处理 \n 字符。
我使用 FileReader() 读取文件,使用 DOMParser() 解析 FileReader 生成的字符串。
我不知道如何解决这个问题,有什么帮助吗?
【问题讨论】:
-
这个错误听起来更像是在 DOMParser... 它应该毫无问题地接受
\n,只是为了测试,你能尝试用\r\n硬编码新行吗,我的虚拟机已关闭,但我想我记得这是 windows 编码新行的方式。 -
您的评论让我弄乱了 IE 的输出,似乎它也转义了字符串,因此 person 标签上的属性也会被转义。而且无论我做什么,IE 似乎都会在我删除它的第二次立即应用它的所有格式。为什么微软总是要成为一个奇怪的人... ;l
标签: javascript internet-explorer internet-explorer-11 microsoft-edge