我有一个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生成的字符串。
我不确定如何解决这个问题,有什么帮助?
答案 0 :(得分:0)
您的字符串本身仍然包含\n
个字符,唯一的区别是IE显示原始字符,Chrome和Firefox将它们显示为换行符。
如果您在Chrome或Firefox中打开控制台并输入"a\nb"
,您将获得两行不同的输出。字符串的length
仍为3个字符,但浏览器控制台会将换行符转换为新行。
如果这肯定是个问题,那么你总是可以在字符串上使用replace()
来删除任何换行符:
"<person>\n ... \n </person>".replace(/\n/g, "")