У меня есть БД Oracle с самообращающейся таблицей иерархических медицинских данных, которая называется "услуги".
Услуга
service_id ---------- номер
имя_сервера ----- varchar2 (200)
service_parent --- номер
, где каждая служба может иметь 1 родительскую службу, а также n детей.
Службы «верхнего уровня» будут иметь значение service_parent, равное нулю.
Мне нужно создать структуру XML из этих данных. Я исследовал сеть, но не могу найти пример такого рода генерации XML.
Вот пример вывода XML, который мне нужен:
<services>
<service id="1" name="Medicine">
<service id="10" name="Anesthesia">
</service>
</service>
<service id="2" name="Surgery">
<service id="3" name="Cardiology">
<service id="4" name="Bypass">
</service>
<service id="5" name="Transplant">
</service>
<service id="6" name="Valve Replacement">
</service>
</service>
<service id="9" name="Ear Nose Throat">
<service id="7" name="Laryngectomy">
</service>
<service id="8" name="Septoplasty">
</service>
</service>
</service>
</services>
Я пытался использовать CONNECT_BY_ISLEAF, CONNECT_BY_PATH, CONNECT BY PRIOR и т. Д. ... но самое близкое, что я мог получить, было:
<services>
<service id="1" name="Medicine" />
<service id="10" name="Anesthesia" />
<service id="2" name="Surgery" />
<service id="3" name="Cardiology" />
<service id="4" name="Bypass" />
<service id="5" name="Transplant" />
<service id="6" name="Valve Replacement" />
<service id="9" name="Ear Nose Throat" />
<service id="8" name="Laryngectomy" />
<service id="7" name="Septoplasty" />
</services>
Каков наилучший способ получить структуру XML выше?