Импорт xml файла в виде дерева значений #715555


#0 by sergejkonet
Всем доброго времени суток! необходимо выполнить импорт дерева чертежей, представленного в виде xml-файла в справочник чертежи 1С. создал табличное поле с типом дерево значений, в табличное поле добавил необходимые столбцы, прописал следующий код на открытие файла XML. Процедура ЗагрузитьИзЛоцманаXML_Иерархически Но файл открывается в виде неранжированного списка, а как ы мне его представить в виде дерева значений? Что бы потом можно было дальше это дерево экспортировать в систему.
#1 by Asmody
Если это дерево, то должны быть уровни где-то как-то. В 1С у строки дерева значений тоже есть свойство Строки.
#2 by Asmody
Если xml-файл небольшой, то его можно открыть через документ DOM, который имеет "деревянную" структуру.
#3 by sergejkonet
Ну размер файлов колеблется от 200 до 400 кб. С уровнями в xml файле уровни есть, но никаких общих ID на этих уровнях я не прослеживаю, т.е. как перенести эти уровни в 1С?
#4 by Asmody
пример xml кинь. только не сюда, а на
#5 by acsent
Думаешь большой файл проще в дерево загнать без дома?
#6 by acsent
А вообще юзай XDTO - 2 строчки кода и объект с данными готов
#7 by Asmody
для XDTO схему надо рисовать
#8 by sergejkonet
#9 by sergejkonet
Думал про XDTO, но там надо точную схему нарисовать, а xml не из 1с((
#10 by Asmody
там что, в значениях атрибутов правда кавычки неэкранированные, или это pastebin перевирает?
#11 by sergejkonet
нет, pastebin вставил все верно.
#12 by sergejkonet
значения атрибутов там и правда в неэкранированных кавычках.
#13 by Asmody
Я тебя "поздравляю". Чините выгрузку, с таким ни один нормальный xml-парсер работать не будет.
#14 by sergejkonet
ну данные вроде как он извлекает, значения атрибутов Product, Name, Id. он мне выдает, но выдает в виде неранжированной таблицы.
#15 by Asmody
так для этого тебе либо надо самому анализировать что это за узел, есть ли у него вложенные узлы, отслеживать текущий уровень вложенности, либо пользоваться DOM.
#16 by sergejkonet
а для использования DOM необходимо навести с неэкранированными кавычками? Т.к. навести порядок с этим практически нереально, т.к. как мне сказали конструктора работающие с лоцманом, править xml загрузки нельзя, то остается только описывать вручную все уровни вложенные. в данном файле их вроде как 7, но вот привязать иерархию к какому-то ID, тут так просто и не подцепишься, поля родитель и подавну нет.
#17 by Asmody
а ты уверен, что у тебя ПолучитьАтрибут("Name") возвращает именно [Автоматизированная газораспределительная станция (АГРС) "Снежеть" Q=85000м3 / /ч Комплекс технологического оборудования ТУ 3647-240-05772641-01] По-идее, должен на второй кавычке обрубаться.
#18 by sergejkonet
Нет, возвращает все верно. полностью все значение атрибута Name. Попробую сейчас через DOM дерево получить.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С