Google Apps 脚本:如何修复“prolog 中不允许的内容”
Google Apps Script: How to fix "content is not allowed in prolog"
我正在尝试使用Google Apps Script 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 Script解析此文件?
更新
我设法通过打开文件并使用Apple TextEdit将其另存为UTF-8
文档来解决此问题。在使用Google Apps Script读取之前,是否有任何"自动"(或基于代码)的方法将非UTF 8
(大概UTF-16
文档)转换为UTF-8
?
当您在驱动器中打开文件时,可以选择文件的字符集,我在Google工程师(Corey G)的帖子回答中找到了此信息,因此即使我没有对其进行测试,我认为他也是一个值得信赖的来源:-)。
帖子在这里,代码如下:
DocsList.getFileById(<some id>).getBlob().getDataAsString("UTF-16");// replace by the Charset you want... UFT-8 for example.
所以我想值得一试...让我们知道它是否解决了您的问题。
我也遇到了这个问题,我通过在编辑器中删除 BOM(字节顺序标记)来修复它。这为我解决了问题。我猜解析器将 BOM 视为内容或其他东西。
我遇到了同样的问题,我已经下载了记事本++并将编码配置为"以UTF-8编码"。您可以通过打开 xml 文件并选择编码选项卡 ->"以 UTF-8 编码"来找到它。
它将来对所有 xml 文件有效。
希望它能找到你。
相关文章:
- Don'不允许将焦点集中在自动完成的选择上
- 覆盖在赢得'不允许点击下面的标记,谷歌地图api v3
- js文件未加载js控制台say's”;不允许加载本地资源”;
- Jquery不允许来自多个选择列表的相同值
- 飞行前响应中的访问控制允许标头不允许Angularjs请求标头字段访问控制允许标题
- 不允许在文本框中使用小数
- TinyMCE全屏不允许出现模式窗口
- 不允许在字段中输入不需要的字符
- 访问控制允许标头不允许X-Requested-Wise
- Chromium内联样式不允许正确的视图
- JQuery代码语法问题?(“不允许内联控制结构”)
- 正则表达式,不允许在javascript中使用负数和小数以及零
- 不允许输入或聚焦的输入类型文本
- $interval不允许我更新前端
- 不允许使用引导清单'组件'指令
- XMLHttpRequest无法加载url Origin访问控制允许Origin不允许null
- 正则表达式允许字母数字和空格,但不允许连续两个空格
- 谷歌地图 - 用户选择不允许位置
- 正则表达式在 JavaScript 中不允许
- Google Apps 脚本:如何修复“prolog 中不允许的内容”