【问题标题】:Find HTML Element value in Inline Code Connector Logic App在内联代码连接器逻辑应用中查找 HTML 元素值
【发布时间】:2021-11-01 17:02:56
【问题描述】:

我正在尝试从包含 json、xml 和 html 的 API 多部分响应中获取值。另外,HTML 在该响应中的元素上没有任何 id 和任何类。我想在一个元素中获取完整的表格,并希望从它的tr 中获取值。请建议我如何在 逻辑应用程序 中的 inline code 中执行此操作。

var response = workflowContext.trigger.outputs.body; // API Response

var multiBody = response.body.$multipart[4].body;    // multipartBody

var table = multiBody.                               // How to get table section and get its tr values

return table;

我已经编写了想要在inline code 连接器中实现的javascript 代码。我的代码是

var rows = document.getElementsByTagName('table')[4].rows;
var firstRow = rows[0];                     // LTV/CLTV Row
var firstCell = firstRow.cells[1];          // LTV/CLTV Index
var firstText = firstCell.innerText;
var firstValue = firstText.substring(0, firstText.indexOf('/') - 1);        // LTV
var secondValue = firstText.substring(firstText.indexOf('/') + 2, firstText.lastIndexOf('/') - 1);      // CLTV

请帮助我如何做到这一点。

另外,正如文档中提到的,我们可以在内联代码连接器中编写 javascript,那么为什么 getElementById、getElementByTagname 函数在这里不起作用。

【问题讨论】:

    标签: azure azure-logic-apps inline-code


    【解决方案1】:

    内联代码操作为 JavaScript 运行 NodeJS,它实际上并没有像浏览器那样使用 DOM 对象。

    相反,您将不得不解析 DOM 或只执行字符串搜索来获得所需的内容。

    解析 DOM 当然不会那么简单,如果字符串/正则表达式搜索不适合您,最好在 Azure 函数中使用 jsdom 之类的东西。

    【讨论】:

      猜你喜欢
      • 2022-01-16
      • 1970-01-01
      • 2023-01-19
      • 2018-09-30
      • 1970-01-01
      • 1970-01-01
      • 2020-05-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多