Today, I found 4 new undocumented functions in Power Automate
- encodeXmlValue()
- decodeXmlValue()
- encodeXmlName()
- decodeXmlName()
Why Encode Xml?
First of all, why would we need to encode xml? Sometimes characters in the xml could cause problems when you use them in an actions. Encoding characters can then typically solve this issue.
Typically you would treat the tags in xml differently from the actual data. In the example below. We would potentially want to encode the the ‘data with a space’ tag.
<xml><data with a space>Some data that I have here & some more 'data'</data with a space><xml>
So what does Power Automate offer us.
Within recent Logic Apps release notes I found the functions mentioned earlier. And as Power Automate is built on Logic Apps these functions should work in Power Automate too.
Example Xml
In my examples below I’ve created a flow that has a Compose step with some xml. I’ve renamed this Compose step to MyXml.

EncodeXmlValue
Then within Power Automate I’m adding another Compose action with the following expression
EncodeXmlValue(outputs('MyXml'))

I now get the following result

DecodeXmlValue
And then when we decode the above output we will get out original xml data back.
DecodeXmlValue(outputs('EncodeXmlValue'))

EncodeXmlName
As mentioned earlier, there is a second method of encoding available within Xml. You might recognise this from URL in your browsers as well. Typically URLs in browsers will use the same escape characters as these 4 function use.
EncodeXmlName(outputs('MyXml'))

DecodeXmlName
Then finally we can decode using the DecodeXmlName function.
DecodeXmlName(outputs('EncodeXmlName'))


Leave a Reply
You must be logged in to post a comment.