Работа с мастером схемы плоских файлов довольно сложна, и он может вам помочь только в очень немногих случаях.Кажется, мне всегда приходится немного подправлять его вывод.
Чтобы немного упростить ситуацию, я предлагаю вам ограничить образец документа одним вхождением всей структуры <006>
.Вам не нужно будет устанавливать много строк на Ignored
с помощью мастера схемы плоских файлов:
001,bunch of data
002,bunch of data
006,bunch of data
006A,bunch of data
006B,bunch of data
006B,bunch of data
Затем каждая повторяющаяся структура должна быть заключена в соответствующую повторяющуюся запись в определении вашей схемы XML.
Обратите внимание, что вы всегда можете рекурсивно запустить мастер схемы плоских файлов для вложенных структур, чтобы получить более детальный контроль.Поэтому я бы предложил, во-первых, запустить мастер с всеобъемлющей повторяющейся структурой <006>
, например:
Затем вы можете щелкнуть правой кнопкой мыши по структуре,и предоставить более подробное определение вложенных дочерних структур, выделив только подмножество содержимого образца, например:
Затем самая важная часть : вам нужно настроить свойство Child Order
на Conditional Default
для обеих повторяющихся структур , потому что в конце файла документа есть только одна пустая строка, и мастер не может помочь вам в этой ситуации.
Для справки, полученная структура должна выглядеть следующим образом:
со следующими настройками:
BunchOfStuff (Root)
:С разделителями, 0x0D 0x0A
, суффикс. _001Stuff
: с разделителями, ,
, префикс, идентификатор тега 001
. _002Stuff
: с разделителями, ,
, префикс,Идентификатор тега 002
. _006Loop
: с разделителями, 0x0D 0x0A
, Условное значение по умолчанию . _006Stuff
: с разделителями, ,
, префикс, идентификатор тега 006
. _006AStuff
: с разделителями, ,
, префикс, идентификатор тега 006A
. _006BLoop
: с разделителями, 0x0D 0x0A
, Условное значение по умолчанию . _006BStuff
: с разделителями, ,
, префикс, идентификатор тега 006B
.
Надеюсь, это поможет.