Google Apps 脚本 - XML 解析问题



>我在Google Apps Script中使用ZoomInfo PersonSearch API。在框架内,我在处理查询和解析时使用UrlFetchApp和XmlService。

var response = UrlFetchApp.fetch(query);
var xml = response.getContentText();
var document = XmlService.parse(xml);

当我尝试解析响应时,我被告知没有 DTD,但是,标头和根元素如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<personSearchResponse xmlns="http://partnerapi.zoominfo.com/partnerapistatic/xsd/V4">

如上所示,根元素包含分析文件所需的 XSD。为什么 XmlService 不识别此声明?

如果XML响应包含命名空间,则需要在方法中指定其值。我看到您的示例具有命名空间:http://partnerapi.zoominfo.com/partnerapistatic/xsd/V4,而不是getChild(name(,您需要使用方法:getChild(name,命名空间(。

var response = UrlFetchApp.fetch(query);
var xml = response.getContentText();
var document = XmlService.parse(xml);
var root = document.getRootElement();
var namespace = XmlService.getNamespace('http://partnerapi.zoominfo.com/partnerapistatic/xsd/V4');
var someChild = root.getChild('ReplaceWithChildName', namespace);