Форум: "Базы";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];
ВнизИмпортирование данных из 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.048 c