Power Automate中base64ToString输出含非法字符致XML解析失败求助
Power Automate中base64ToString解码后XML解析失败的原因
我在Power Automate中创建了工作流,使用base64ToString()函数解码Base64编码的XML字符串。解码后出现非法字符,导致无法解析XML,后续调用xml()函数处理输出时收到如下错误:
Unable to process template language expressions in action 'Convert_string_to_xml' inputs at line '0' and column '0': 'The template language function 'xml' parameter is not valid. Theprovided value cannot be converted to XML: 'Data at the root level is invalid. Line 1, position 1.'. Please see https://aka.ms/logicexpressions#xml for usage details.'.
非法字符出现的常见原因:
- Base64字符串含冗余字符:部分场景下的Base64字符串会附带换行、空格或多余的填充符
=,解码后这些字符残留于XML内容的开头或结尾,成为XML规范不允许的非法字符。 - 解码编码格式不匹配:
base64ToString()默认采用UTF-8编码解码,若原始XML使用UTF-16等其他编码,解码后会生成乱码或不可见控制字符,这类字符出现在XML根节点位置时会直接触发解析错误。 - 原始XML本身含非法控制字符:编码前的XML可能包含XML规范禁止的控制字符(如ASCII 0-31范围内的非允许字符),Base64编码不会过滤这类字符,解码后自然会导致XML解析失败。
- Base64字符串传输/存储损坏:Base64字符串在传输或存储过程中被截断、篡改,解码后得到的内容并非完整XML,开头出现无效字符。
内容的提问来源于stack exchange,提问作者Kresten
相关产品推荐
相关产品推荐

