如何在逻辑应用程序中替换XML有效负载中的字符串?
输入
<root>
<alexIsAwesome>yes he is</alexIsAwesome>
<bytes>sdfsdfjijOIJOISJDFQPWORPJkjsdlfkjlksdf==</bytes>
<bytes>SFSDFsdfsdgfjgjkfjsdlfkjlksdf==</bytes>
</root>
所需结果
<root>
<alexIsAwesome>yes he is</alexIsAwesome>
<bytes>replacetext1</bytes>
<bytes>replacetext2</bytes>
</root>
我们如何遍历XML并替换节点内的文本?请记住,输入节点的大小可能为100mb!
答案 0 :(得分:3)
如果您已经在Logic App中加载了XML内容,则可以只使用replace
函数。请注意,某些limits可能会导致您连续运行。
如果您有更复杂的用例,则可以尝试以下方法之一
对于高达50MB的有效负载 ,您只需使用新的inline code feature即可执行所需的转换。您必须先将有效负载转换为JSON(使用json
),然后再转换为XML(使用xml
)。
但是对于更大的有效负载和/或更复杂的转换 ,最好将其卸载到Function called from Logic App。
这里最好的方法是将有效负载存储在Azure Blob存储中,并且您的函数将具有Blob Input和Blob Output绑定。
答案 1 :(得分:3)
您可以通过指向已定义的Map(XSLT或Liquid类型)来将Integration帐户与Transform XML操作一起使用。 logic apps enterprise integration maps