Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- INSERT INTO "NODES" (ID, NAME) VALUES (1, 'test parent');
- INSERT INTO "NODES" (ID, PARENTID, NAME) VALUES (2,1,'test child 1');
- INSERT INTO "NODES" (ID, PARENTID, NAME) VALUES (3,1,'test child 2');
- INSERT INTO "NODES" (ID, PARENTID, NAME) VALUES (3,2,'test child 3');
- <nstst:nodes xmlns:ns="test" xmlns:ns1="test1" xmlns:ns2="test2">
- <ns1:node>
- <ns2:name>test parent</name>
- <!-- extra info -->
- <nodes>
- <node>
- <name>test child 1</name>
- <!-- extra info and child nodes -->
- </node>
- <node>
- <name>test child 2</name>
- <!-- extra info and child nodes -->
- </node>
- </nodes>
- </node>
- </nodes>
- SELECT DBMS_XMLGEN.getXMLType(
- DBMS_XMLGEN.newContextFromHierarchy('
- SELECT LEVEL,
- case
- when CONNECT_BY_ISLEAF = 1 then
- XMLELEMENT("nodes", XMLELEMENT("ns1:node",
- xmlattributes(''test'' as "xmlns:ns",
- ''test1'' as "xmlns:ns1",
- ''test2'' as "xmlns:ns2"),
- xmlelement("ns2:name", n.code)))
- when CONNECT_BY_ISLEAF = 0 then
- XMLELEMENT("nodes", XMLELEMENT("ns1:node",
- xmlattributes(''test'' as "xmlns:ns",
- ''test1'' as "xmlns:ns1",
- ''test2'' as "xmlns:ns2"),
- xmlelement("ns2:name", n.code)), null)
- end
- FROM NODES n
- START WITH n.CODE = ''JUST''
- CONNECT BY PRIOR n.ID = n.PARENTID '
- )
- ) FROM DUAL;
- <?xml version="1.0"?>
- <nodes>
- <ns1:node xmlns:ns="test" xmlns:ns1="test1" xmlns:ns2="test2">
- <ns2:name>JUST</ns2:name>
- </ns1:node>
- <nodes>
- <ns1:node xmlns:ns="test" xmlns:ns1="test1" xmlns:ns2="test2">
- <ns2:name>test child 1</ns2:name>
- </ns1:node>
- <nodes>
- <ns1:node xmlns:ns="test" xmlns:ns1="test1" xmlns:ns2="test2">
- <ns2:name>test child 3</ns2:name>
- </ns1:node>
- </nodes>
- </nodes>
- <nodes>
- <ns1:node xmlns:ns="test" xmlns:ns1="test1" xmlns:ns2="test2">
- <ns2:name>test child 2</ns2:name>
- </ns1:node>
- </nodes>
- </nodes>
Add Comment
Please, Sign In to add comment