Google Apps Script - проблемы с синтаксическим анализом XML - PullRequest
0 голосов
/ 12 июня 2018

Я использую API ZoomInfo PersonSearch в Google Apps Script.В рамках я использую 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 не распознает эту декларацию?

1 Ответ

0 голосов
/ 14 июня 2018

Если XML-ответ содержит пространство имен , необходимо указать его значение в методе.Я вижу, что ваш пример имеет пространство имен: http://partnerapi.zoominfo.com/partnerapistatic/xsd/V4 и вместо getChild (name) вам нужно использовать метод: getChild (name, namespace) .

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...