【问题标题】:Handeling XML Soap Response With zapier NodeJS使用 zapier Node JS 处理 XML Soap 响应
【发布时间】:2018-12-17 08:14:57
【问题描述】:

我有一个这种格式的 XML Soap 响应,其中包含以下信息 用户名: 全称: 状态: 状态持续时间:

        <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 名称:用户 1、用户 3

以及所有用户的“状态持续时间”之和 这是总和:309 + 165 + 109

【问题讨论】:

    标签: node.js xml soap zapier


    【解决方案1】:

    David 来自 Zapier 平台团队。

    如果您像使用纯文本一样使用 XML,那么您将遇到麻烦。我会寻找一种将 XML 解析为更友好的格式并像常规数据结构一样处理它的方法。不幸的是,node.js 没有原生的 xml 解析器,所以你有两个选择:

    1. 制作一个小 CLI 应用程序 (docs),它将解析您的 XML,您可以像 json 一样使用它
    2. 使用 python 代码步骤,确实具有原生 XML 解析。您可以按照说明 here 遍历您的 ./rows/values 并检查用户是否已注销。

    希望这能让你朝着正确的方向前进!

    【讨论】:

    • 嘿大卫,非常感谢您的回复只是一个快速的问题,因为我在编程方面有点新手从 Zapier 中的 Python 开始,我正在使用 from xml.etree import ElementTree code root = ElementTree。 fromstring(input_data) 这是正确的吗? code 我的意思是 zapier 接受 input_data 或其他东西
    • 不完全 - input_data 是一个 dict(相当于 javascript 的对象),所以您需要使用 input_data['my_string'],其中 'my_string' 是您设置的键的名称用户界面是。此外,编写/调试您不是不在 Zapier 上的代码,然后在它准备好并工作时将其粘贴进去会更容易
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    • 2016-07-26
    • 2020-02-07
    相关资源
    最近更新 更多