Handeling XML Soap Response With zapier NodeJS



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

<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}]

这给了我输出为 已注销 CT: 2

如何获取已注销用户的名称 喜欢 登录输出光盘 : 2 名称:用户 1、用户 3

以及所有用户的"状态持续时间"之和 即总和:309 + 165 + 109

David 来自 Zapier Platform 团队。

如果您像使用纯文本一样使用 XML,那么您将度过一段糟糕的时光。我的我会寻找一种方法将XML解析为更友好的格式,并像常规数据结构一样对其进行处理。不幸的是,node.js没有本机xml解析器,因此您有两种选择:

  1. 制作一个小的 CLI 应用程序(文档(来解析您的 XML,您可以像 json 一样使用它
  2. 使用 python 代码步骤,该步骤具有本机 XML 解析。您可以按照此处的说明循环访问您的./rows/values并检查用户是否已注销。

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

最新更新