IE FileReader 打印出“\n”

IE FileReader prints out "\n"

我有一个 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",您将获得两行不同的输出。字符串的length仍然是3个字符,但是浏览器控制台将换行字符转换为换行。

如果这确实是一个问题,那么您始终可以在字符串上使用 replace() 来去除任何换行符:

"<person>\n ... \n </person>".replace(/\n/g, "")