PLSQL:从“分层”表创建XML

时间:2012-06-18 10:56:31

标签: xml oracle plsql hierarchical

我有一张这样的表:

id | id_parent | tag_name
0  |           | TRANSACTION
1  |         0 | NAME
2  |         0 | ADDRESS
3  |         2 | CITY

等等。

我想用它创建一个xml结构,所以我会有这样的东西:

<TRANSACTION>
  <NAME />
  <ADDRESS>
    <CITY />
  </ADDRESS>
</TRANSACTION>

我发现了一些有趣的功能,但我找不到我需要的东西......

PS:我不需要“真正的”XML,结果结构甚至可以是varchar2(但它可能变得非常大)或者clob。

1 个答案:

答案 0 :(得分:0)

试试这个:

select DBMS_XMLGEN.getXML(DBMS_XMLGEN.newcontextfromhierarchy('SELECT level,
XMLElement(evalname(TAG_NAME))
from my_table t
START WITH id_parent is null
CONNECT BY PRIOR id = id_parent'))
  FROM dual

my_table是表名