全部。我尝试将 Google 表单导出为 XML 文件,如这篇旧文章中所述:将 Google 表单响应映射或导出到 PDF 表单字段
我按照步骤操作,但脚本不断出错。我希望有实际脚本经验的人可以帮助我修复它。我将按照链接堆栈中的概述发布我的代码。
formXml.html
<fields xmlns:xfdf="http://ns.adobe.com/xfdf-transition/">
<TMR><? dataTMR ?></TMR>
<Date><? dataDate ?></Date>
<Time><? dataTime ?></Time>
</fields>
代码.gs
function formSubmission(eventData) {
// Get a handle on the xml template
var formXml = HtmlService.createTemplateFromFile('formXml');
// Replace template values with user input
formXml.dataTMR = eventData.namedValues['TMR'];
formXml.dataDate = eventData.namedValues['Date'];
formXml.dataTime = eventData.namedValues['Time'];
// Evaluate the template with substitutions
var xml = formXml.evaluate();
// Get the evaluated template as text, prepend the XML Declaration
var formXmlText = '<?xml version="1.0" encoding="UTF-8"?>' + xml.getContent();
// Save user input as XML file on Google Drive
var fileName = 'Form ' + eventData.namedValues['Timestamp'];
var xmlFile = DriveApp.createFile(fileName, formXmlText, MimeType.XML);
}
这是执行日志:
如果我能得到任何帮助,我将不胜感激。
我已经尽可能地复制了这些步骤,而没有任何真正的脚本背景。
尝试改变这些:
formXml.dataTMR = eventData.namedValues['TMR'];
formXml.dataDate = eventData.namedValues['Date'];
formXml.dataTime = eventData.namedValues['Time'];
对此:
formXml.dataTMR = eventData.namedValues['TMR'][0];
formXml.dataDate = eventData.namedValues['Date'][0];
formXml.dataTime = eventData.namedValues['Time'][0];