Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.09;
Скачать: CL | DM;

Вниз

Импортирование данных из XML   Найти похожие ветки 

 
DelphiLexx ©   (2007-08-06 12:18) [0]

Есть XML файл созданный моей программой, данными XML файла являются данные БД1  
Вот часть кода моего xml"a

<?xml version="1.0" encoding="Windows-1251" ?>
<Main>
<RAW_DICT>
   <RAW_DICT_ROW RAW_ID="4" RAW_GROUP_ID="5" RAW_NAME="Название сырья №1" DESCRIPTION="">
     <RAW_QM_VALUE>
       <RAW_QM_VALUE_ROW QM_ID="10" QM_VALUE="27"/>
       <RAW_QM_VALUE_ROW QM_ID="5" QM_VALUE="0"/>
       <RAW_QM_VALUE_ROW QM_ID="4" QM_VALUE="1.1"/>
       <RAW_QM_VALUE_ROW QM_ID="9" QM_VALUE="12"/>
     </RAW_QM_VALUE>
   </RAW_DICT_ROW>
</RAW_DICT>
<CONTENTS>
<CONTENTS_ROW RCP_CONTENTS_ID="-3142" RAW_ID="4" PERCENT="22">
 <RCP_QM_VALUE>
  <RCP_QM_VALUE_ROW QM_ID="47" QM_VALUE="183" />
  <RCP_QM_VALUE_ROW QM_ID="6" QM_VALUE="32.5" />
 </RCP_QM_VALUE>
</CONTENTS_ROW>
</CONTENTS>
</Main>

Дело в том что при вставке в БД2, (БД2 имеет идентичную стуктуру БД1), значение RAW_ID берется не из тэга <RAW_DICT_ROW>,  а из генератора таблицы RAW_DICT БД2, т.е. может взяться не 4 (для данного примера), а, например,  25. В связи с этим для корректного импорта необходимо в XML - документе заменить RAW_ID = 4, на RAW_ID = 25. Можно ли эти трюки делать средствами самого XML?


 
Reindeer Moss Eater ©   (2007-08-06 13:32) [1]

А зачем менять значение в XML, если значение это все равно будет взято из генератора?


 
DelphiLexx ©   (2007-08-06 13:50) [2]


> А зачем менять значение в XML, если значение это все равно
> будет взято из генератора?

А затем, что это поле может быть внешним ключом (ссылкой), например RAW_GROUP_ID.

<?xml version="1.0" encoding="Windows-1251" ?>
<Main>
<RAW_GROUPS>
 <ROW RAW_GROUP_ID="1" PARENT="" SEQUENCE_ID="1" ></ROW>
...
 <ROW RAW_GROUP_ID="5" PARENT="2" SEQUENCE_ID="4"></ROW>
 <ROW RAW_GROUP_ID="6" PARENT="2" SEQUENCE_ID="5"></ROW>
...
 <ROW RAW_GROUP_ID="38" PARENT="3" SEQUENCE_ID="37"> </ROW>
</RAW_GROUPS>

<RAW_DICT>
  <RAW_DICT_ROW RAW_ID="4" RAW_GROUP_ID="5" RAW_NAME="Название сырья №1" DESCRIPTION="">
    <RAW_QM_VALUE>
      <RAW_QM_VALUE_ROW QM_ID="10" QM_VALUE="27"/>
      <RAW_QM_VALUE_ROW QM_ID="5" QM_VALUE="0"/>
      <RAW_QM_VALUE_ROW QM_ID="4" QM_VALUE="1.1"/>
      <RAW_QM_VALUE_ROW QM_ID="9" QM_VALUE="12"/>
    </RAW_QM_VALUE>
  </RAW_DICT_ROW>
</RAW_DICT>
...
</Main>


 
Reindeer Moss Eater ©   (2007-08-06 16:55) [3]

Да хоть трижды ключем и четырежды внешним.
Значение все равно будет взято из генератора в любом случае.



Страницы: 1 вся ветка

Текущий архив: 2007.12.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
2-1194936903
ice321i
2007-11-13 09:55
2007.12.09
Вопрос с запросом


2-1194968440
IOrist
2007-11-13 18:40
2007.12.09
Почиму в орешнике 1 страница?


3-1186048319
HID
2007-08-02 13:51
2007.12.09
Задачка с запросом


2-1194847372
Layner
2007-11-12 09:02
2007.12.09
Запуск приложения от другого пользователя и выход(logout) из XP


2-1194865129
Uno
2007-11-12 13:58
2007.12.09
Протокалирование сообщений