XML дерево

Rel
Дата: 26.02.2007 15:04:16
Существует relation(сущность-связь) таблица, содержащее дерево, следующей стурктуры
ID
NAZVANIE
ID_TOP
где id_top вышестоящий узел дерева соответственно


Как получить xml следующей структуры?

<node id="ID" label="NAZVANIE">
<node id="ID" label="NAZVANIE"/>
<node id="ID" label="NAZVANIE"/>
<node id="ID" label="NAZVANIE"/>
</node>
Rel
Дата: 26.02.2007 16:46:30
Спасибо, всё быстро и просто:)

Ну и практически выдержка из хелпа с нужным мне преобразованием

DECLARE
  qryctx DBMS_XMLGEN.ctxhandle;
  result XMLType;
BEGIN
  qryctx := 
    DBMS_XMLGEN.newcontextFromHierarchy(
      'SELECT level, 
              XMLElement("node",XmlAttributes(NAZVANIE AS "label", ID AS "id"))
         FROM TABLE
         CONNECT BY PRIOR ID=ID_TOP
         START WITH ID =200
        ');
  DBMS_XMLGEN.setRowSetTag(qryctx, 'node');
  result := DBMS_XMLGEN.getxmltype(qryctx);
  DBMS_OUTPUT.put_line('<result num rows>');
  DBMS_OUTPUT.put_line(to_char(DBMS_XMLGEN.getNumRowsProcessed(qryctx)));
  DBMS_OUTPUT.put_line('</result num rows>');
  INSERT INTO sqlx_display VALUES (2, result);
  COMMIT;
  DBMS_XMLGEN.closecontext(qryctx);
END;
/