2011-01-10 2 views
2

У меня есть база данных Oracle с таблицей саморегуляции иерархических медицинских данных, называемых «сервисами».Создание XML из самостоятельной привязки таблицы 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 ПРИОР, и т.д ... но ближе всего я мог бы получить это было:

<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 выше?

ответ

2

This example с использованием DBMS_XMLGEN.newContextFromHierarchy выглядит довольно похоже на то, что вы пытаетесь сделать.

Смежные вопросы