すべての xml エンティティを文字形式に変換し、Oracle DB に格納する GUI の問題があります。最大の問題は、"
引用符で囲まれた 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=')
これをよりシンプルかつ効率的にするにはどうすればよいですか?
ありがとう!