ABAP-替换XML字符串中的"控制字符",但保留"换行符"

2020-09-15 15:14发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,
由于很少有"控制字符",我的XML字符串无效。
https://en.wikipedia.org/wiki/Control_character
例如 0x0B,0x1C ...

我发现我可以用REGEX代替它们:

在xml_string中用'#'替换正则表达式'[[:cntrl:]]'的所有出现。
[[:cntrl:]] 可悲的是还包含 换行符

(0D 0A)字符,我需要保留这些字符(对于有效的XML,它们是可以的)。 编辑:也许还有([[:cntrl:]])还有一些我不应该替换的字符!


有人遇到过这个问题,找到了一种"验证" XML字符串的好方法吗?

编辑:找到了一个有用的WIKI供参考: https://en.wikipedia.org/wiki/Valid_characters_in_XML

BTW:通过创建XML。 标准SICF服务-RFC功能模块=> SOAP(CL_HTTP_EXT_SOAPHANDLER_RFC)。 因此,很奇怪没有标准实现的字符转义。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,
由于很少有"控制字符",我的XML字符串无效。
https://en.wikipedia.org/wiki/Control_character
例如 0x0B,0x1C ...

我发现我可以用REGEX代替它们:

在xml_string中用'#'替换正则表达式'[[:cntrl:]]'的所有出现。
[[:cntrl:]] 可悲的是还包含 换行符

(0D 0A)字符,我需要保留这些字符(对于有效的XML,它们是可以的)。 编辑:也许还有([[:cntrl:]])还有一些我不应该替换的字符!


有人遇到过这个问题,找到了一种"验证" XML字符串的好方法吗?

编辑:找到了一个有用的WIKI供参考: https://en.wikipedia.org/wiki/Valid_characters_in_XML

BTW:通过创建XML。 标准SICF服务-RFC功能模块=> SOAP(CL_HTTP_EXT_SOAPHANDLER_RFC)。 因此,很奇怪没有标准实现的字符转义。

付费偷看设置
发送
2条回答
CJones
1楼 · 2020-09-15 15:34.采纳回答

您是否尝试过诸如^ \ x09 \ x0A \ x0D \ x20- \ xD7FF \ xE000- \ xFFFD \ x10000-x10FFFF这样的正则表达式?

天桥码农
2楼-- · 2020-09-15 15:39

因为我没有找到此字符串 在任何标准对象中,我还将此字符串定义为我的xml工具类之一的常量类属性。

一周热门 更多>