Уведомления

Группа в Telegram: @pythonsu

#1 Июль 15, 2017 20:20:27

evp24
Зарегистрирован: 2017-05-03
Сообщения: 96
Репутация: +  3  -
Профиль   Отправить e-mail  

xml множество файлов в разных папках собрать воедино

Здравствуйте! Есть файл DBSchema.xml
примерно такой:

 <table name="Const225" prop1="78" prop2="225" prop3="83">
<fields>
<field name="Fld226" td="ref(0:Reference160:0:0:3)"/>
<field name="RecordKey" td="binary(0::1:0:0)"/>
</fields>
<indexes>
<index name="ByKey" fields="RecordKey" prop1="1" prop2="1"/>
</indexes>
</table>
<table name="InfoRg113" prop1="78" prop2="113" prop3="83">
<fields>
<field name="Period" td="datetime(0::0:0:0)"/>
<field name="Fld114" td="string(0::2147483748:0:0)"/>
<field name="Fld115" td="ref(0:Reference7:0:0:3)"/>
</fields>
<indexes>
<index name="ByPeriod" fields="Period|Fld114|Fld115" prop1="1" prop2="1"/>
<index name="ByDims" fields="Fld114|Fld115|Period" prop1="1"/>
</indexes>
</table>
<table name="InfoRg124" prop1="78" prop2="124" prop3="83">
<fields>
<field name="Period" td="datetime(0::0:0:0)"/>
<field name="Fld125" td="ref(0:Reference7:0:0:3)"/>
<field name="Fld126" td="ref(0:Reference123:0:0:3)"/>
<field name="Fld308" td="ref(0:Reference10:0:0:3)"/>
<field name="Fld127" td="number(0::10:3:0)"/>
</fields>
<indexes>
<index name="ByPeriod" fields="Period|Fld125|Fld126|Fld308" prop1="1" prop2="1"/>
<index name="ByDims" fields="Fld125|Fld126|Fld308|Period" prop1="1"/>
</indexes>
</table>

Каждый table name=“”
приведен списком полей - а точнее “полями таблиц”

но, каждому такому name соответствует файл
лежащий в папке Database

Например Const225.xml

 <tableDump tableName="Const225">
<fields>
<field name="Fld226" index="0" type="ref"/>
<field name="RecordKey" index="1" type="binary"/>
</fields>
<records>
<record _0="00000000-0000-0000-0000-000000000000" _1="31"/>
</records>
</tableDump>

Не представляю, как можно эти данные обработать, может на PYTHON это возможно?

Желательно получить или csv или sql файл на выходе со структурой таблиц.
Напарник говорит - нужно делать json (выводить все данные на одной странице

может кто уже сталкивался, подскажите, куда хотя-бы копать?

Офлайн

#2 Июль 16, 2017 10:41:41

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

xml множество файлов в разных папках собрать воедино

Судя по всему в DBSchema.xml описана структура таблиц. А в файлах в Database данные таблиц. И в чем у вас проблема? Не умеете xml парсить? Не умеете файлы читать? Не можете сгенерировать выходной файл?



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Июль 16, 2017 11:04:23

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4127
Репутация: +  252  -
Профиль   Отправить e-mail  

xml множество файлов в разных папках собрать воедино

PooH
Не представляю, как можно эти данные обработать
PooH
И в чем у вас проблема?
Пока проблема в том что непонятно что именно автор хочет получить в результате обработки.

evp24
Желательно получить или csv или sql файл на выходе со структурой таблиц.

Для вашего примера ручками напишите какой вы csv или sql хотите получить.



Офлайн

#4 Июль 16, 2017 11:12:51

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8196
Репутация: +  563  -
Профиль   Отправить e-mail  

xml множество файлов в разных папках собрать воедино

А разве в csv можно описать структуру таблиц?



Онлайн

#5 Июль 16, 2017 13:27:06

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

xml множество файлов в разных папках собрать воедино

FishHook
А разве в csv можно описать структуру таблиц?
А почему бы и нет? Существуют же хоккей на траве и балет на льду.
имя таблицы, имя поля, тип поля, PK
table1,field1, int, true
table1,field2, string, false
table2,field1, int, true
table2,field2, string, false



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#6 Июль 16, 2017 13:44:13

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8196
Репутация: +  563  -
Профиль   Отправить e-mail  

xml множество файлов в разных папках собрать воедино

PooH
имя таблицы, имя поля, тип поля, PK
А еще все индексы, констрейты, триггеры и секвенсы!



Онлайн

#7 Июль 17, 2017 11:55:25

evp24
Зарегистрирован: 2017-05-03
Сообщения: 96
Репутация: +  3  -
Профиль   Отправить e-mail  

xml множество файлов в разных папках собрать воедино

PooH
Судя по всему в DBSchema.xml описана структура таблиц. А в файлах в Database данные таблиц. И в чем у вас проблема? Не умеете xml парсить? Не умеете файлы читать? Не можете сгенерировать выходной файл?

Руками, я понимаю, КАК делать, и что.
Нахожу главную таблицу товаров, потом таблицу остатков, складов, и погнал, совмещать…

Эта папка, xml базы 1С которую убил вирус и восстановлению теперь, сама база не подлежит

doza_and
Пока проблема в том что непонятно что именно автор хочет получить в результате обработки.

Долго думал, видимо, нужно сравнить все файлы в database и найти ссылки на поля
например, если таблица “товары” в которой есть ссылка на ID таблицы “категории”
то их объединить и вывести связанные таблицы в ОДНУ таблицу

а потом, уже, можно будет в экселе, что-то придумать

Офлайн

#8 Июль 17, 2017 13:49:03

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 8573
Репутация: +  764  -
Профиль   Отправить e-mail  

xml множество файлов в разных папках собрать воедино

evp24
Не представляю, как можно эти данные обработать, может на PYTHON это возможно?
Эти файлы ты как-то получил, в какой-то программе. Возможно, в той же программе есть импорт из такой формы.

evp24
может на PYTHON это возможно?
Возможно, но без опыта в программировании заманаешься. Здесь структурное программирование нужно использовать с применением метода разработки “сверху вниз”.

evp24
Напарник говорит - нужно делать json (выводить все данные на одной странице
И что это даст?



Офлайн

#9 Июль 17, 2017 15:01:46

evp24
Зарегистрирован: 2017-05-03
Сообщения: 96
Репутация: +  3  -
Профиль   Отправить e-mail  

xml множество файлов в разных папках собрать воедино

py.user.next
Эти файлы ты как-то получил, в какой-то программе. Возможно, в той же программе есть импорт из такой формы.

данные выковыряли с помощью DTManager82_2.1.8.137
из поврежденного вирусом ванякрай - 1CD файла
после удаления конфигов и тому подобного (в HEX) удалось открыть в DTманагере

который только в XML и умеет их выгружать

Офлайн

#10 Июль 17, 2017 15:02:44

evp24
Зарегистрирован: 2017-05-03
Сообщения: 96
Репутация: +  3  -
Профиль   Отправить e-mail  

xml множество файлов в разных папках собрать воедино

py.user.next
Возможно, но без опыта в программировании заманаешься. Здесь структурное программирование нужно использовать с применением метода разработки “сверху вниз”.

опыт есть
небольшой. Желания, еще больше, научиться

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version