PLSQL:来自 xpath 的值在前面有一些字符
Posted
技术标签:
【中文标题】PLSQL:来自 xpath 的值在前面有一些字符【英文标题】:PLSQL : value from xpath has some characters on front 【发布时间】:2017-03-17 15:04:28 【问题描述】:在 PLSQL 中,我打开一个 xml 文件并使用 DBMS_XSLPROCESSOR.selectNodes 读取一些节点以使用一些 xpath 表达式。
一切都很好,但仅对于一种节点,我得到的值(是好的)在字符串前面有一些字符。我以为是一些空格,但不是。
当我在表中插入值时,字符仍然存在,并且我可以摆脱偏移量。
你知道它可能是什么吗?如何发现它可能是什么?如何摆脱它?
注意:由于这些字符不是空格,因此修剪不起作用。
注意2:xml似乎是正常的
谢谢
【问题讨论】:
【参考方案1】:如果您正在寻找数据库内解决方案,SQL dump()
函数将显示字符串中每个字符的 ASCII 值。
SQL> select dump('WHAT IS THIS?') from dual
2 /
DUMP('WHATISTHIS?')
-----------------------------------------------------
Typ=96 Len=13: 87,72,65,84,32,73,83,32,84,72,73,83,63
SQL>
至于摆脱它,你可以使用translate()
:
SQL> with cte as (select chr(11) || chr(23) || 'WHAT IS THIS?' || chr(23) as str from dual)
2 select str
3 , dump(str) as dump_str
4 , translate(str, 'z'||chr(11)||chr(23), 'z') as cleaned_str
5 from cte
6 /
STR DUMP_STR
---------------- -------------------------------------------------------------
CLEANED_STR
-------------
WHAT IS THIS?
Typ=1 Len=16: 11,23,87,72,65,84,32,73,83,32,84,72,73,83,63,23
WHAT IS THIS?
SQL>
嗯。 *** 已经抑制了 SQL 输出中的非打印字符,因此如果不实际运行它,就很难看到发生了什么。
【讨论】:
以上是关于PLSQL:来自 xpath 的值在前面有一些字符的主要内容,如果未能解决你的问题,请参考以下文章
PLSQL 的 extractValue 方法中的 XPath 不正确
Android - 来自 AlertDialog 的字符串值在访问时不断重置