我正在尝试将字符串解析为XML文档,以便在进行更新POST之前查看其有效性。我是谷歌应用程序脚本的一个菜鸟,值得一点帮助。请参阅下面的代码
function createXml() {
var ss = SpreadsheetApp.openById("ID"),
activeSheet = ss.getActiveSheet(),
refDatasrc = ss.getSheetByName("Student"),
refDataRange = refDatasrc.getDataRange(),
values = refDataRange.getValues();
var xmlst = '<?xml version="1.0" encoding="utf-8"?><List Name=GS Test" Department="First Department"><Columns><Rows>';
for (var i = 0; i < values.length; i++) {
// var child = XmlService.createElement('value');
if(i < 1){
var xmlCol = '<c>' + values[0][0] + '</c>'
+ '<c>' + values[0][1] + '</c>'
+ '<c>' + values[0][2] + '</c>'
+ '<c>' + values[0][3] + '</c>'
+ '<c>' + values[0][4] + '</c>'
+ '<c>' + values[0][5] + '</c>'
+ '<c>' + values[0][6] + '</c>'
+ '<c>' + values[0][7] + '</c>'
+ '<c>' + values[0][8] + '</c>'
+ '<c>' + values[0][9] + '</c>'
+ '<c>' + values[0][10] + '</c>'
+ '<c>' + values[0][11] + '</c>'
+ '<c>' + values[0][12] + '</c>'
+ '<c>' + values[0][13] + '</c>'
+ '<c>' + values[0][14] + '</c></Columns><Rows>';
xmlst += xmlCol;
}
else
{
var xmlRows = '<r><v>' + values[i][0] + '</v>'
+ '<v>' + values[i][1] + '</v>'
+ '<v>' + values[i][2] + '</v>'
+ '<v>' + values[i][3] + '</v>'
+ '<v>' + values[i][4] + '</v>'
+ '<v>' + values[i][5] + '</v>'
+ '<v>' + values[i][6] + '</v>'
+ '<v>' + values[i][7] + '</v>'
+ '<v>' + values[i][8] + '</v>'
+ '<v>' + values[i][9] + '</v>'
+ '<v>' + values[i][10] + '</v>'
+ '<v>' + values[i][11] + '</v>'
+ '<v>' + values[i][12] + '</v>'
+ '<v>' + values[i][13] + '</v>'
+ '<v>' + values[i][14] + '</v></r>';
xmlst += xmlRows;
}
}
xmlst += '</Rows>';
Logger.log(xmlst);
下面是我尝试将字符串解析为XML文档
var document = XmlService.parse(xmlst);
var output = XmlService.getPrettyFormat().format(document);
我一直收到没有定义XMLService。有什么建议吗?
答案 0 :(得分:0)
错误只是区分大小写问题,请将第一行更改为:
root = XmlService.parse(xmlst);
请注意小写&#34; ml&#34;。
以下是Xml服务文档,其中显示了如何解析现有XML字符串以及从头开始构建新xml文档的正确方法。
https://developers.google.com/apps-script/reference/xml-service/