我有一个 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 生成的字符串。
我不知道如何解决这个问题,有什么帮助吗?
最佳答案
您的字符串本身仍然包含 \n
字符,唯一的区别是 IE 将它们显示为原始字符,而 Chrome 和 Firefox 将它们显示为换行符。
如果您在 Chrome 或 Firefox 中打开控制台并输入 "a\nb"
,您将获得两行不同的输出。字符串的长度
仍然是3个字符,但浏览器控制台将换行符转换为新行。
如果这确实是一个问题,那么您始终可以在字符串上使用 replace()
来去除任何换行符:
"<person>\n ... \n </person>".replace(/\n/g, "")
关于javascript - IE FileReader打印出 "\n",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40846465/