【问题标题】:PLSQL: find and replace tag value in xml with the tag name to create sample dataPLSQL:在 xml 中查找标签值并将其替换为标签名称以创建示例数据
【发布时间】:2017-11-28 11:22:12
【问题描述】:

PLSQL

我想用标签名称替换标签值。
输入:字符串。
输出:转换后的字符串。

示例:
<project>aQFH454</project><house>dvdrun</house>

至:
<project>project</project><house>house</house>

有人有想法吗?

谢谢。

【问题讨论】:

  • sql中的用户替换,可以在PL/SQL中使用if then语句,将字符串替换为别的东西。

标签: html xml plsql


【解决方案1】:

您可以使用函数REGEXP_REPLACE 并提取正确的正则表达式组来做到这一点:

SELECT REGEXP_REPLACE(txt,'(<)(\w+?)(>)(\w+?)(</)(\w+?)(>)+','\1\2\3\2\5\6\7')
FROM (SELECT '<project>aQFH454</project><house>dvdrun</house>' txt FROM dual)

其中组 \2 是标签名称:

<project>project</project><house>house</house>

【讨论】:

    【解决方案2】:

    试试这个。

    SELECT REGEXP_REPLACE ('<project>aQFH454</project><house>dvdrun</house>',
                           '<(.+)>.+</(\1)>',
                           '<\1>\1</\1>')
      FROM DUAL;
    

    【讨论】:

      猜你喜欢
      • 2014-07-09
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-19
      • 2014-07-18
      • 1970-01-01
      相关资源
      最近更新 更多