Javascript 谷歌应用程序脚本:如何修复;prolog中不允许包含内容;

Javascript 谷歌应用程序脚本:如何修复;prolog中不允许包含内容;,javascript,xml,google-apps-script,google-sheets,Javascript,Xml,Google Apps Script,Google Sheets,我正在尝试使用Google Apps脚本XmlService解析以下XML文件: <?xml version="1.0" encoding="UTF-8"?> <Report Major="1" Minor="0" Revision="1"> <CoIDs> …. 运行脚本时,我收到错误消息:prolog中不允许使用内容 XM

我正在尝试使用Google Apps脚本
XmlService
解析以下XML文件:

<?xml version="1.0" encoding="UTF-8"?>
     <Report Major="1" Minor="0" Revision="1">
        <CoIDs>  ….
  
运行脚本时,我收到错误消息:
prolog中不允许使用内容

XML文件的格式有问题吗? 如何使用Google Apps脚本解析此文件

更新
我通过打开文件并使用Apple TextEdit将其再次保存为
UTF-8
文档,成功地解决了这个问题。在使用Google Apps脚本阅读之前,是否有任何“自动”(或基于代码)的方法将非
UTF-8
(大概是
UTF-16
文档)转换为
UTF-8

在驱动器中打开文件时,可以选择文件的字符集,我在谷歌工程师(Corey G)的一篇帖子中找到了这一信息因此,即使我没有测试它,我认为他是一个可靠的来源:-)

这篇文章是这样写的,代码如下:

DocsList.getFileById(<some id>).getBlob().getDataAsString("UTF-16");// replace by the Charset you want... UFT-8 for example.
DocsList.getFileById().getBlob().getDataAsString(“UTF-16”);//替换为所需的字符集。。。例如UFT-8。
所以我想值得一试。。。
让我们知道它是否解决了您的问题

我也遇到了这个问题,我通过在编辑器中从文档中删除BOM(字节顺序标记)来修复它。这为我解决了问题。我猜解析器会将BOM视为内容或其他东西。

我也遇到了同样的问题,我下载了Notepad++并将编码配置为“在UTF-8中编码”。您可以通过打开xml文件并选择Encoding选项卡->“在UTF-8中编码”来找到它

它将在将来对所有xml文件有效


希望您感觉良好。

检查xml文件是否与BOM一起保存。
DocsList.getFileById(<some id>).getBlob().getDataAsString("UTF-16");// replace by the Charset you want... UFT-8 for example.