2014-07-16 3 views
0

Я вызываю Google Apps Admin Settings API из сценария сценария Google Apps (Javascript), чтобы получить максимальное количество пользователей в нашем домене Google Apps.Как извлечь значение из XML-ответа AtomPub XML в Javascript (для API настроек администратора Google Apps)

запрос Удачный GET возвращает ответ в формате AtomPub XML, например, так:

<?xml version='1.0' encoding='UTF-8'?> 
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'> 
<id>https://apps-apis.google.com/a/feeds/domain/2.0/domain.com/general/maximumNumberOfUsers</id> 
<updated>2014-07-16T00:55:27.837Z</updated> 
<link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/domain/2.0/domain.com/general/maximumNumberOfUsers'/> 
<link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/domain/2.0/domain.com/general/maximumNumberOfUsers'/> 
<apps:property name='maximumNumberOfUsers' value='100'/></entry> 

Величина maximumNumberOfUsers имущество (в данном случае это) является единственной частью меня волнует ,

Как извлечь это значение, чтобы присвоить его целочисленной переменной?

Мой первый инстинкт заключался в том, чтобы написать сумасшедшее сложное регулярное выражение, но я ЗНАЮ, что должен быть более простой способ!

Я думаю, что есть способ сделать это с помощью JQuery, но нет возможности использовать jQuery в скрипте Google Apps.

ответ

1

Прочитано this previous answer. Не нужно писать сумасшедшее регулярное выражение ... просто поднимите эту утилиту, которая напрямую связана с структурой xml!

Вот непроверенный кусок кода, который использует функцию getElementByVal() из этого ответа:

... 
var xml = UrlFetchApp.fetch(url).getContentText(); 
var document = XmlService.parse(xml); 
var root = document.getRootElement(); 
var atom = XmlService.getNamespace('http://www.w3.org/2005/Atom'); 
var entries = document.getRootElement().getChildren('entry', atom); 

var maxUsers = getElementByVal(entries, 'property', 'name', 'maximumNumberOfUsers'); 
        .getAttribute(value); 
... 

 Смежные вопросы

  • Нет связанных вопросов^_^