Aristo.pyЗдесь уже непонятно.
Определилось кол-во видов нодов для обработки. Набор нужных тегов, которые содержаться в них, и в итоге:
стало очевидно, что этот подход не для моего случая, т.к.:
1) Нужно обрабарывать содержимое 2-4 основных тегов (наподобие “Номенклатура” или “ОписанияПараметров”);
2)В парсере должен быть предусмотрен легкий разбор подуровней (почти,предел есть всему)бесконечного кол-ва уровней вложенности, потому как исходный документ может немного меняться в сторону увеличения уровней вложенности, поэтому надо предусмотреть легкое добавление обработчика последнего(возможно нового) уровня.И? В чем Вы видите сложность добавления нужных уровней в моем подходе?
Руководитель рекомендует (читай: настаивает) на варианте подхода с выдиранием по 1му ноду (типа “Номенклатура”) в переменную, и обрабатывать этот кусочек отдельно, преимущество: - позволяет легко изменять кол-во обрабатываемых уровней, а также нодов.Это я не понял совсем. Дичь какая-то по-моему.
Aristo.pyНепонятно насчет некоторого содержимого. Как вы представляете я смогу вам запрограммировать это?
отсюда нужно получить:
из “Справочник.Номенклатура” (в таблицу Nomenclatura)
IDD > iddc
Наименование > namen
Родитель
IDD >idB
НоменклатурнаяГруппа (сначала некоторое содержимое этого тега идет в таблицу TipGroup, затем в таблицу Nomenklatura в поле tipgroup размещается указатель на эту запись в таблице TipGroup)
IDD >iddc
Наименование > namen
Параметр1 (сначала некоторое содержимое этого тега идет в таблицу Par1, затем в таблицу Nomenklatura в поле parameter1 размещается указатель на эту запись в таблице Par1) #и так все Параметры, для каждого параметра создана таблица с соответствующим именем вида Par1, Par2, Par3 и т.п.
IDD >iddc
Наименование > namen
по сути, непонятно только как при таком подходе организовать доступ и чтение последних уровней вложенности, и как рационально организовать возврат указателя на нужную запись в определенной таблице в другую таблицу .Все равно не вижу проблемы. Парсинг происходит в один проход. Если нужны некие данные из уже обработанного, то их нужно предварительно сохранить. В чем проблема-то? Может на примере поясните? Вот на этом, который привели.
Aristo.pyКод для примера подойдет последний.
“Справочник.Номенклатура” (в таблицу Nomenclatura)
IDD > iddc
Наименование > namen
Родитель
IDD >idB
НоменклатурнаяГруппа (сначала в таблицу TipGroup, затем в таблицу Nomenklatura в поле tipgroup размещается указатель на эту запись в таблице TipGroup)
IDD >iddc
Наименование > namen
Параметр1 (сначала в таблицу Par1, затем в таблицу Nomenklatura в поле parameter1 размещается указатель на эту запись в таблице Par1) #и так все Параметры, для каждого параметра создана таблица с соответствующим именем вида Par1, Par2, Par3 и т.п.
IDD >iddc
Наименование > namen
Edу меня почему то не выводит… щас пошаманю, посмотрим…
А в чем принципиальная разница между тэгами последнего уровня и остальными? Парсер парсит все, заходит на все уровни.
Кстати, можете привести пример ‘тэга последнего уровня’ и сформулировать таки в чем проблема с ними?