Guest User

Untitled

a guest
Jul 19th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. INSERT INTO "NODES" (ID, NAME) VALUES (1, 'test parent');
  2. INSERT INTO "NODES" (ID, PARENTID, NAME) VALUES (2,1,'test child 1');
  3. INSERT INTO "NODES" (ID, PARENTID, NAME) VALUES (3,1,'test child 2');
  4. INSERT INTO "NODES" (ID, PARENTID, NAME) VALUES (3,2,'test child 3');
  5.  
  6. <nstst:nodes xmlns:ns="test" xmlns:ns1="test1" xmlns:ns2="test2">
  7. <ns1:node>
  8. <ns2:name>test parent</name>
  9. <!-- extra info -->
  10. <nodes>
  11. <node>
  12. <name>test child 1</name>
  13. <!-- extra info and child nodes -->
  14. </node>
  15. <node>
  16. <name>test child 2</name>
  17. <!-- extra info and child nodes -->
  18. </node>
  19. </nodes>
  20. </node>
  21. </nodes>
  22.  
  23. SELECT DBMS_XMLGEN.getXMLType(
  24. DBMS_XMLGEN.newContextFromHierarchy('
  25. SELECT LEVEL,
  26. case
  27. when CONNECT_BY_ISLEAF = 1 then
  28. XMLELEMENT("nodes", XMLELEMENT("ns1:node",
  29. xmlattributes(''test'' as "xmlns:ns",
  30. ''test1'' as "xmlns:ns1",
  31. ''test2'' as "xmlns:ns2"),
  32. xmlelement("ns2:name", n.code)))
  33. when CONNECT_BY_ISLEAF = 0 then
  34. XMLELEMENT("nodes", XMLELEMENT("ns1:node",
  35. xmlattributes(''test'' as "xmlns:ns",
  36. ''test1'' as "xmlns:ns1",
  37. ''test2'' as "xmlns:ns2"),
  38. xmlelement("ns2:name", n.code)), null)
  39. end
  40. FROM NODES n
  41. START WITH n.CODE = ''JUST''
  42. CONNECT BY PRIOR n.ID = n.PARENTID '
  43. )
  44. ) FROM DUAL;
  45.  
  46. <?xml version="1.0"?>
  47. <nodes>
  48. <ns1:node xmlns:ns="test" xmlns:ns1="test1" xmlns:ns2="test2">
  49. <ns2:name>JUST</ns2:name>
  50. </ns1:node>
  51. <nodes>
  52. <ns1:node xmlns:ns="test" xmlns:ns1="test1" xmlns:ns2="test2">
  53. <ns2:name>test child 1</ns2:name>
  54. </ns1:node>
  55. <nodes>
  56. <ns1:node xmlns:ns="test" xmlns:ns1="test1" xmlns:ns2="test2">
  57. <ns2:name>test child 3</ns2:name>
  58. </ns1:node>
  59. </nodes>
  60. </nodes>
  61. <nodes>
  62. <ns1:node xmlns:ns="test" xmlns:ns1="test1" xmlns:ns2="test2">
  63. <ns2:name>test child 2</ns2:name>
  64. </ns1:node>
  65. </nodes>
  66. </nodes>
Add Comment
Please, Sign In to add comment