我们有一些GUI问题,它们将所有xml实体转换成字符格式,并存储在Oracle DB中。最大的问题是"被转换为“在引用的xml属性值中”。
<?xml version=...>
<Fetch searchstr=""brown fox" child* !"big planes"" begin="yesterday" ...>
<otherele>...</otherele>
<some>...</some>
</Fetch>我需要通过将它转换为:
<?xml version=...>
<Fetch searchstr=""brown fox" child* !"big planes"" begin="yesterday" ...>
<otherele>...</otherele>
<some>...</some>
</Fetch>我写这篇文章是为了解决这个问题,而且效果很好。
set content = replace (content,
regexp_substr(content, '<Fetch searchstr=".+" begin='),
'<Fetch searchstr="' ||
replace(regexp_replace(content,
'<Fetch searchstr="(.+)" begin=|.',
'\1'),
'"', '"')
|| '" begin=')我怎样才能使这件事更简单、更有效?
谢谢!
发布于 2013-06-17 16:14:34
获取以下子字符串:
“棕色狐狸”孩子!“大飞机”
。。将引号改为:";
SET DECLARE OFF;
SELECT SUBSTR(str, 1, INSTR(str, '""', 1, 1))
|| REPLACE(SUBSTR(str, INSTR(str, '""', 1, 1) + 1, INSTR(str, '""', -1, 1) - INSTR(str, '""', 1, 1)), '"', '"')
|| SUBSTR(str, INSTR(str, '""', -1, 1) + 1)
AS col
FROM
(
SELECT '<?xml version=...><Fetch searchstr=""brown fox" child* !"big planes"" begin="yesterday" ...><otherele>...</otherele><some>...</some></Fetch>' AS str
FROM DUAL
);结果:
<?xml version=...><Fetch searchstr=""brown fox" child* !"big planes"" begin="yesterday" ...><otherele>...</otherele><some>...</some></Fetch>https://stackoverflow.com/questions/17151592
复制相似问题