我正在尝试使用Google Apps脚本XmlService
解析以下XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<Report Major="1" Minor="0" Revision="1">
<CoIDs> ….
代码段:
function parse(txt) {
var document = XmlService.parse(txt);
var root = document.getRootElement();
//...
}
运行脚本时,收到错误消息:Content is not allowed in prolog
。
XML文件的格式是否存在问题? 如何使用Google Apps脚本解析此文件?
我设法通过打开文件并将其再次保存为带有Apple TextEdit的UTF-8
文档来解决问题。在使用Google Apps脚本阅读之前,是否有任何“自动”(或基于代码)方式将非UTF 8
(可能是UTF-16
文档)转换为UTF-8
?
答案 0 :(得分:5)
当您在驱动器中打开文件时,可以选择文件的字符集,我在Google工程师(Corey G)的回复中找到了这些信息,所以即使我没有测试它,我认为他是一个信任的来源:-)。
帖子为here,代码如下:
DocsList.getFileById(<some id>).getBlob().getDataAsString("UTF-16");// replace by the Charset you want... UFT-8 for example.
所以我觉得值得尝试...... 如果它能解决您的问题,请告诉我们。
答案 1 :(得分:1)
我也遇到了这个问题,我通过从编辑器中的文档中删除BOM(字节顺序标记)来修复它。这解决了我的问题。我猜解析器会将BOM视为内容或其他内容。
答案 2 :(得分:0)
我遇到了同样的问题,我已经下载了Notepad ++,并将编码配置为以UTF-8编码&#39;编码。您可以通过打开xml文件并选择“编码”选项卡 - &gt;来找到它。 &#39;编码为UTF-8&#39;。
将来对所有xml文件都有效。
希望它能找到你。