在逻辑应用程序中执行xml替换操作

l--*_*''' 5 azure-logic-apps

我们如何在逻辑应用程序中替换XML有效负载中的字符串?

输入

<root>
  <alexIsAwesome>yes he is</alexIsAwesome>
  <bytes>sdfsdfjijOIJOISJDFQPWORPJkjsdlfkjlksdf==</bytes>
  <bytes>SFSDFsdfsdgfjgjkfjsdlfkjlksdf==</bytes>
</root>
Run Code Online (Sandbox Code Playgroud)

理想的结果

<root>
  <alexIsAwesome>yes he is</alexIsAwesome>
  <bytes>replacetext1</bytes>
  <bytes>replacetext2</bytes>
</root>
Run Code Online (Sandbox Code Playgroud)

我们如何遍历XML并替换节点内的文本?请记住,输入节点的大小可能为100mb!

Pra*_*SFT 3

如果您已经在逻辑应用程序中加载 XML 内容,则只需使用该replace函数即可。请注意,连续运行可能会遇到某些限制。

如果您有更复杂的用例,您可以尝试以下其中一种

对于高达 50MB 的有效负载,您可以简单地使用新的内联代码功能来执行您需要的转换。您必须首先将有效负载转换为 JSON(使用json),然后再转换回 XML(使用xml)。

但对于更大的有效负载和/或更复杂的转换,最好将其卸载到从逻辑应用程序调用的函数

这里最好的方法是将有效负载存储在 Azure Blob 存储中,并且您的函数将具有Blob 输入Blob 输出绑定。