Обработка ответа XML-мыла с помощью zapier NodeJS

У меня есть XML-ответ мыла в этом формате, в котором есть следующая информация Имя пользователя: Fulname: State: State Продолжительность:

        <return>
            <columns>
                <values>
                    <data>Username</data>
                    <data>Full Name</data>
                    <data>State</data>
                    <data>State Duration</data>
                </values>
            </columns>
            <rows>
                <values>
                    <data>user1@test.com</data>
                    <data>User1</data>
                    <data>Logged Out</data>
                    <data>309</data>
                </values>
            </rows>
            <rows>
                <values>
                    <data>user2@test.com</data>
                    <data>User2</data>
                    <data>Logged In</data>
                    <data>165</data>
                </values>
            </rows>
            <rows>
                <values>
                    <data>user3@test.com</data>
                    <data>User3</data>
                    <data>Logged Out</data>
                    <data>109</data>
                </values>
            </rows>
       </return>

Если я хочу получить общее количество пользователей, вышедших из системы, я использую свой код

var LoggedOutCt = inputData.tempInput.split("Logged Out").length;
output = [{LoggedOutCt: LoggedOutCt}]

Это дает мне вывод как LoggedOutCt: 2

Как я также могу получить имена пользователей, которые вышли из системы, например, LoggedOutCt: 2 Имена: User1, User 3

И сумма "State Duration" всех пользователей, которая составляет: 309 + 165 + 109

1 ответ

Дэвид здесь, из команды Zapier Platform.

Если вы работаете с XML так, как будто это простой текст, у вас будет плохое время. Я бы хотел найти способ разобрать XML в более дружественный формат и работать с ним как с обычной структурой данных. К сожалению, node.js не имеет встроенного парсера xml, поэтому у вас есть два варианта:

  1. Сделайте небольшое CLI-приложение ( docs), которое будет анализировать ваш XML, и вы сможете работать с ним, как json
  2. Используйте шаг кода Python, который имеет собственный синтаксический анализ XML. Вы можете следовать инструкциям здесь, чтобы перебрать ваш ./rows/values и проверьте, если пользователь вышел из системы.

Надеюсь, это заставит вас двигаться в правильном направлении!

Другие вопросы по тегам