如何在逻辑应用程序中使用 XML_Transform 替换 java xml header 内容?
How to replace java xml header content using XML_Transform in logic app?
我有一个带有 Transform_XML
的简单逻辑应用程序,其中我将输入作为 java xml
数据。
我想从该输入 java xml
中替换下面的字符串。
'<?xml version=\"1.0\" encoding=\"utf-16\"?>'
to
'<?xml version=\"1.0\" encoding=\"utf-8\"?>
我尝试在代码视图中使用以下内容,但没有任何线索?
"Transform_XML": {
"inputs": {
"content": "@{xml(replace(string(triggerBody()),'<?xml version=\"1.0\" encoding=\"utf-16\"?>','<?xml version=\"1.0\" encoding=\"utf-8\"?>'))}",
"integrationAccount": {
"map": {
"name": "mytestmap"
}
}
},
"runAfter": {},
"type": "Xslt"
}
但在 Xml Validation
处出现错误 -
InvalidXml. The provided content must be of XML content type.
replace() 看起来是正确的,但此时您可能不需要使用 xml()。
如果来自触发器的内容以 base64 格式传入,您可能需要先执行 base64ToString(),因为 replace() 可能会尝试对 base64 内容执行操作反而。一些 Action 可以正确处理此问题,而另一些则不能。
replace(base64ToString(triggerBody()),'',''))}"
但是...像这样更改 header 时要非常小心,因为现在您有义务将其作为完整的 UTF 发送给任何下游客户端。
我有一个带有 Transform_XML
的简单逻辑应用程序,其中我将输入作为 java xml
数据。
我想从该输入 java xml
中替换下面的字符串。
'<?xml version=\"1.0\" encoding=\"utf-16\"?>'
to
'<?xml version=\"1.0\" encoding=\"utf-8\"?>
我尝试在代码视图中使用以下内容,但没有任何线索?
"Transform_XML": {
"inputs": {
"content": "@{xml(replace(string(triggerBody()),'<?xml version=\"1.0\" encoding=\"utf-16\"?>','<?xml version=\"1.0\" encoding=\"utf-8\"?>'))}",
"integrationAccount": {
"map": {
"name": "mytestmap"
}
}
},
"runAfter": {},
"type": "Xslt"
}
但在 Xml Validation
处出现错误 -
InvalidXml. The provided content must be of XML content type.
replace() 看起来是正确的,但此时您可能不需要使用 xml()。
如果来自触发器的内容以 base64 格式传入,您可能需要先执行 base64ToString(),因为 replace() 可能会尝试对 base64 内容执行操作反而。一些 Action 可以正确处理此问题,而另一些则不能。
replace(base64ToString(triggerBody()),'',''))}"
但是...像这样更改 header 时要非常小心,因为现在您有义务将其作为完整的 UTF 发送给任何下游客户端。