我是靠谱客的博主 阔达羽毛,最近开发中收集的这篇文章主要介绍Oracle Webservice—SOAP报文字符转义WebService特殊字符转义,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

WebService特殊字符转义

  soap报文请求Webservice时,经常会遇到特殊字符导致接口报错;这时候需要转义处理;

   常见的转义字符如下:

&&
''单引号
""双引号
> >大于号
&lt;<小于号

  转义之后的数据如果是在js等前端处理,会正常显示转义前的符号,无需再做处理;

Oracle Chr()函数_w3cschool

Oracle处理方式:

CREATE OR REPLACE Function ZLXA_TransferResponse
(
resText In Varchar2
)
  Return Varchar2 As
  --作者: 王大聖
  --时间:2021-01-22
  --功能:调用WebService后存在大量的&amp;  & 和&apos; ' 单引号&quot; " 双引号&gt;  >  大于号&lt; < 小于号
  --实现:  转义

  l_returnXML Varchar2(32767) := '';

  v_AT   Varchar2(2);
Begin

  If resText Is Null Or Length(resText) <=0 Then
    Return '';
  End If;

  v_AT := chr(38);

  l_returnXML := Replace(resText, v_AT || 'amp;', v_AT); --&amp; 为 &
  l_returnXML := Replace(l_returnXML, v_AT || 'apos;', Chr(39)); --&apos; 为 '
  l_returnXML := Replace(l_returnXML, v_AT || 'quot;', Chr(34)); --&quot; 为 "
  l_returnXML := Replace(l_returnXML, v_AT || 'gt;', Chr(62)); --&gt; 为 >
  l_returnXML := Replace(l_returnXML, v_AT || 'lt;', Chr(60)); --&lt; 为 <

  Return l_returnXML;
Exception
  When Others Then
    Return resText;
End;

/*Create Public Synonym ZLXA_TRANSFERRESPONSE For ZLHIS.ZLXA_TRANSFERRESPONSE;
 Grant Execute On ZLXA_TRANSFERRESPONSE To Public; */

相关Oracle函数介绍: Chr函数

Oracle Chr()函数可以根据数字代码返回字符,其功能和ASCII函数相反。

适用于

CHR()函数可用于以下版本的Oracle:

Oracle 12c、Oracle 11g、Oracle 10g、Oracle 9i

CHR()有个对应的函数ASCII(),可以实现相反的作用。
ASCII() --将字符转换为ASCII码
语法
ASCII(single_character)
示例
select ASCII('A') from dual;  --返回 65

ASCII表

DecHexOctCharDescription
00000null
11001start of heading
22002start of text
33003end of text
44004end of transmission
55005enquiry
66006acknowledge
77007bell
88010backspace
99011horizontal tab
10A012new line
11B013vertical tab
12C014new page
13D015carriage return
14E016shift out
15F017shift in
1610020data link escape
1711021device control 1
1812022device control 2
1913023device control 3
2014024device control 4
2115025negative acknowledge
2216026synchronous idle
2317027end of trans. block
2418030cancel
2519031end of medium
261A032substitute
271B033escape
281C034file separator
291D035group separator
301E036record separator
311F037unit separator
3220040space
3321041!
3422042"
3523043#
3624044$
3725045%
3826046&
3927047'
4028050(
4129051)
422A052*
432B053+
442C054,
452D055-
462E056.
472F057/
48300600
49310611
50320622
51330633
52340644
53350655
54360666
55370677
56380708
57390719
583A072:
593B073;
603C074<
613D075=
623E076>
633F077?
6440100@
6541101A
6642102B
6743103C
6844104D
6945105E
7046106F
7147107G
7248110H
7349111I
744A112J
754B113K
764C114L
774D115M
784E116N
794F117O
8050120P
8151121Q
8252122R
8353123S
8454124T
8555125U
8656126V
8757127W
8858130X
8959131Y
905A132Z
915B133[
925C134
935D135]
945E136^
955F137_
9660140`
9761141a
9862142b
9963143c
10064144d
10165145e
10266146f
10367147g
10468150h
10569151i
1066A152j
1076B153k
1086C154l
1096D155m
1106E156n
1116F157o
11270160p
11371161q
11472162r
11573163s
11674164t
11775165u
11876166v
11977167w
12078170x
12179171y
1227A172z
1237B173{
1247C174|
1257D175}
1267E176~
1277F177DEL

最后

以上就是阔达羽毛为你收集整理的Oracle Webservice—SOAP报文字符转义WebService特殊字符转义的全部内容,希望文章能够帮你解决Oracle Webservice—SOAP报文字符转义WebService特殊字符转义所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部