Google apps script 从Amazon MWS订单解析XML

Google apps script 从Amazon MWS订单解析XML,google-apps-script,amazon-mws,parsexml,Google Apps Script,Amazon Mws,Parsexml,由于几天的时间和大量的谷歌搜索,我试图在这里得到我的答案 我想用GoogleApps脚本将Amazon MWS xml解析为GoogleSheets API调用正在工作,我能够将答案写入工作表中的一个单元格中,但我无法将XML元素拆分为单个单元格 以下是我尝试访问XML元素的方式: var response = UrlFetchApp.fetch('https://mws.amazonservices.de/Orders/2013-09-01', options); var response

由于几天的时间和大量的谷歌搜索,我试图在这里得到我的答案

我想用GoogleApps脚本将Amazon MWS xml解析为GoogleSheets

API调用正在工作,我能够将答案写入工作表中的一个单元格中,但我无法将XML元素拆分为单个单元格

以下是我尝试访问XML元素的方式:

var response = UrlFetchApp.fetch('https://mws.amazonservices.de/Orders/2013-09-01', options);  
var responseXml = response.getContentText();  

var Sheet_Temp = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Temp')
Sheet_Temp.getRange(1, 1).setValue(response)

var xmlDoc = XmlService.parse(responseXml);
var root = xmlDoc.getRootElement();

var ns = root.getNamespace();
Sheet_Report.getRange(1, 1).setValue(ns);

var row = new Array();

var feed = root.getChild("ListOrdersResult", ns).getChild("Orders", ns).getChild("Order", ns);
var AmazonOrderId = feed.getChildren("AmazonOrderId", ns).getValue();
最后一行引发错误:

TypeError:Objekt[元素:https://mws.amazonservices.com/Orders/2013-09-01]/>]nicht gefunden(Zeile 497,日期“代码”)

这是XML的简短版本。真正的文件有数千种不同的顺序:


2018-01-03T09:07:08Z
标准订单
2018-01-01T00:03:57Z
7vndn9example@marketplace.amazon.de
306-8775721-示例
假的
2018-01-03T09:37:38Z
1.
加快
装船
亚马逊
假的
0
标准
法比示例
欧元
10.95
假的
2018-01-03T09:07:08Z
A1PA6795UKMFR9
AFN
其他
温内登
71364
巴登-沃尔滕堡
判定元件
费边例子
例1
假的
加快
306-8775721-示例
2018-01-13T17:37:01Z
标准订单
2018-01-01T03:17:35Z
004xssfxexample@marketplace.amazon.de
306-1651353-示例
假的
2018-01-13T18:07:23Z
1.
标准
装船
亚马逊
假的
0
标准
F.例子
欧元
15.15
假的
2018-01-13T17:37:01Z
A1PA6795UKMFR9
AFN
其他
哥林
3381
尼德斯特雷希
在
弗兰兹的例子
例9
假的
标准
306-1651353-示例
2018-01-01T12:00:00Z
aea97379-21ae-4431-a16d-4a6569c4124b
如何在google工作表中获取此XML

编辑:我做了一些更改,但现在出现以下错误:

TypeError:Objekt[元素:https://mws.amazonservices.com/Orders/2013-09-01]/>]nicht gefunden(Zeile 497,日期“代码”)


好的,我已经开始运行了。以下是我的解决方案:

var response = UrlFetchApp.fetch('https://mws.amazonservices.de/Orders/2013-09-01', options);  
var responseXml = response.getContentText();  
var Sheet_Orders = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Orders')

var document = XmlService.parse(responseXml);
var root = document.getRootElement();
var namespace = document.getRootElement().getNamespace();

var orders = root.getChild("ListOrdersResult", namespace).getChild("Orders", namespace).getChildren("Order", namespace);
var laenge = orders.length;

for (var i = 0; i < orders.length; i++) {
  var Country = orders[i].getChild("ShippingAddress", namespace).getChild("CountryCode", namespace).getValue();
  var ShipDate = orders[i].getChild("LatestShipDate", namespace).getValue();
  var Amount = orders[i].getChild("OrderTotal", namespace).getChild("Amount", namespace).getValue();
  var Business = orders[i].getChild("IsBusinessOrder", namespace).getValue();
  Sheet_Orders.getRange([i+1], 1).setValue(ShipDate);
  Sheet_Orders.getRange([i+1], 2).setValue(Amount);
  Sheet_Orders.getRange([i+1], 3).setValue(Business);
  Sheet_Orders.getRange([i+1], 4).setValue(Country);
}
var response=UrlFetchApp.fetch('https://mws.amazonservices.de/Orders/2013-09-01",选择),;
var responseXml=response.getContentText();
var Sheet_Orders=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Orders'))
var document=XmlService.parse(responseXml);
var root=document.getRootElement();
var namespace=document.getRootElement().getNamespace();
var orders=root.getChild(“ListOrdersResult”,命名空间)。getChild(“orders”,命名空间)。getChildren(“Order”,命名空间);
var laenge=orders.length;
对于(变量i=0;i
谢谢您的回答。我将脚本更改为:
var xmlDoc=XmlService.parse(responseXml);var root=xmlDoc.getRootElement();var AmazonOrderId=root.getChild(“订单”).getChild(“订单”).getChild(“AmazonOrderId”).getValue();表单报告。getRange(1,1)。设置值(AmazonOrderId)TypeError:Methode“getChild”von null kann nicht aufgerufen werden。(Zeile 518,Datei“Code”)@tehhowch感谢您的更正。您知道错误的原因以及如何修复它吗?