|   |   | 
| 
 | Как парсить файл xml? | ☑ | ||
|---|---|---|---|---|
| 0
    
        bebibo 26.11.19✎ 13:58 | 
        Здравствуйте. Задача такая: есть xml файл. При нажатии на кнопку, нужно этот хмл файл распарсить по реквизитам в обработке встроенной. То есть: загрузила хмл файл - парсится - и все нужные значения вставил в реквизиты обработки этой.
 То есть например чтобы эту обработку по 10 раз не заполнять ПОЧТИ одними и те же ми данными, я беру файл хмл и парсю и в обработке заполняются реквизиты из этого файла хмл. Вопрос, как это сделать? В интернете не понятно, там только чтение и запись. А мне надо чтобы из хмл в реквизиты обработки вставали данные. | |||
| 1
    
        mikecool 26.11.19✎ 13:59 | 
        тебе читать про чтение     | |||
| 2
    
        bebibo 26.11.19✎ 14:01 | 
        (1) читать то я понимаю как, но как запихнуть в нужные реквизиты?     | |||
| 3
    
        Папа Гапа 26.11.19✎ 14:02 | 
        (2) Атрибуты обработки или на форме?     | |||
| 4
    
        bebibo 26.11.19✎ 14:02 | 
        (3) На форме     | |||
| 5
    
        Папа Гапа 26.11.19✎ 14:06 | 
        Тогда желательно знать какая у вас версия вижуалбейсика     | |||
| 6
    
        8 bit 26.11.19✎ 14:06 | 
        Какая боль чувствуется в этом словесном потоке. Автор мечется между увольнением и лишением премии.     | |||
| 7
    
        Папа Гапа 26.11.19✎ 14:08 | 
        (6) Не флудите. Уважайте собеседника. Когда-нибудь он станет вашим руководителем.     | |||
| 8
    
        План счетов 26.11.19✎ 14:08 | 
        Мощная вещь:
 https://ru.wikipedia.org/wiki/XSLT | |||
| 9
    
        Александр Б 26.11.19✎ 14:11 | 
        (2) Присвоением.     | |||
| 10
    
        bebibo 26.11.19✎ 14:13 | 
        (5) А зачем вижуалбейсик? не понимаю немного)     | |||
| 11
    
        Папа Гапа 26.11.19✎ 14:15 | 
        (10) Так вы на кнопочку прямо на клавиатуре хотите нажимать?     | |||
| 12
    
        bebibo 26.11.19✎ 14:16 | 
        (11) нет, на форме обработки, в поле выбора выбираю ХML файл ниже на форме кнопка, нажимая по ней заполняются ниже реквизиты этой обработки из файла  XML     | |||
| 13
    
        Папа Гапа 26.11.19✎ 14:17 | 
        (9) За присвоение могут посадить. Это ключевой признак хищения.     | |||
| 14
    
        Fragster гуру 26.11.19✎ 14:19 | 
        а откуда этот файл берется? почему именно XML?     | |||
| 15
    
        SprayTM 26.11.19✎ 14:20 | 
        А чем чтение не угодило? Читаете атрибуты, присваиваете их к переменным, заносите в значения реквизитов     | |||
| 16
    
        _Дайвер_ 26.11.19✎ 14:23 | 
        (12) ПрочитатьXML(<ЧтениеXML>, <ТипЗначения>)     | |||
| 17
    
        _Дайвер_ 26.11.19✎ 14:25 | 
        (16) +
 ЧитаемДату = Ложь; Пока ЧтениеXML.Прочитать() Цикл Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда Если ЧтениеXML.ЛокальноеИмя = "Дата" Тогда ЧитаемДату = Истина; КонецЕсли; ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда Если ЧитаемДату Тогда Дата = XMLЗначение(Тип("Дата"), ЧтениеXML.Значение); КонецЕсли КонецЕсли КонецЕсли | |||
| 18
    
        Fragster гуру 26.11.19✎ 14:38 | 
        (17) это отвратительно     | |||
| 19
    
        hhhh 26.11.19✎ 14:55 | 
        (17) ДокументDOM пробуйте. Там попроще многоуровневые элементы разбирать.     | |||
| 20
    
        RomanYS 26.11.19✎ 14:58 | 
        (19) может ОбъектXDTO?
 Ч = Новый ЧтениеXML(); Ч.ОткрытьФайл(ИмяФайла); Ф = Новый ФабрикаXDTO(); ОбъектXDTO = Ф.ПрочитатьXML(Ч); | |||
| 21
    
        8 bit 26.11.19✎ 15:15 | 
        (7) сомневаюсь.
 Вообще ТС-у я бы порекомендовал ознакомиться со структурой исходного файла, т.е. с XSD-схемой. Зная схему можно проверить на корректность синтаксиса XML-файла, его структуру, модель содержания и типы данных. При попытке анализа непонятно чего нельзя это непонятно что присвоить чему-то. | |||
| 22
    
        ZDenis 26.11.19✎ 15:19 | 
        (20) Фабрику можно даже не создавать                    
 ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл(ИмяФайла); ПисанинаXML = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML); | |||
| 23
    
        Garykom гуру 26.11.19✎ 15:29 | 
        (18) SAX вполне имеет право на жизнь, не только же DOMить.     | |||
| 24
    
        Garykom гуру 26.11.19✎ 15:31 | 
        (22) Если XML файл имеет размер 1Гб, а винда и 1С x86 как думаем этот код сумеет выполниться и не рухнуть с нехваткой памяти?     | |||
| 25
    
        Fragster гуру 26.11.19✎ 15:33 | 
        (24)да     | |||
| 26
    
        hhhh 26.11.19✎ 15:35 | 
        (22) это должны тогда совпадать имена полей и реквизитов в файле и в фабрике. А у девушки здесь вероятность совпадения имен 0 целых хрен десятых.     | |||
| 27
    
        Дмитрий 26.11.19✎ 15:35 | 
        А почему пол мужской?     | |||
| 28
    
        Garykom гуру 26.11.19✎ 15:36 | 
        (25) Неа, если по РИБ прилетает обновление типовой конфы которая размером под 1 гиг то оно нихрена не грузится на x86 винде.
 На 64 бит винде и 32 бит 1C как повезет. | |||
| 29
    
        Fragster гуру 26.11.19✎ 15:41 | 
        (28) не путай обновление типовой конфы (которое и без XML нифига не выполняется на x86 для измененной ERP, например) и простые данные     | |||
| 30
    
        Fragster гуру 26.11.19✎ 15:41 | 
        1 гиг XML с легкостью прочитается через фабрику XDTO     | |||
| 31
    
        Garykom гуру 26.11.19✎ 15:48 | 
        (30) ОК, x86 операционка и 2, 3, 4 и т.д. гиг XML файлик.
 Кроме как SAX никак не выйдет, для DOM парсера банально памяти не хватит. | |||
| 32
    
        mistеr 26.11.19✎ 17:17 | 
        (2) Ознакомиться с примерами ЧтениеXML не пробовал?     | |||
| 33
    
        Сияющий в темноте 26.11.19✎ 18:29 | 
        и 64 бит,чтобы память всю убить
 ведь в нее же мы суем никому не нужный DOM. и поэтому для вас был придумах метод SAX. | |||
| 34
    
        Garykom гуру 26.11.19✎ 18:41 | 
        (33) Не-не DOM штука полезная когда надо не простое линейное чтение а по разному засунуть XML в некую структуру и там крутить как угодно пробегая или выборки делая.
 Или даже изменяя XML а потом назад записать в файлик. | |||
| 35
    
        Fragster гуру 26.11.19✎ 22:53 | 
        на самом деле никто не мешает комбинировать - методами чтения спуститься на уровень, в котором лежит миллион объектов и дальше читать их по одному через фабрику. вроде как раз так и работает типовая выгрузказагрузкаXML. когда в XML лежат именно что миллионы объектов - оно полезно., и работает быстрее. Но у автора - сохраненные реквизиты. Может ему даже и XML не нужен, а хватит типового сохранения реквизитов формы пользюка. на вопрос, откуда этот XML берется, он так и не ответил     | |||
| 36
    
        Папа Гапа 27.11.19✎ 06:21 | 
        Вы чего так тупите - тут про форму вопрос. Как в реквизиты загрузить. Неужели никто не знает?     | |||
| 37
    
        Сияющий в темноте 27.11.19✎ 08:48 | 
        прочитали реквизиты с именами в структуру,а потом ЗаполнитьЗначенияСвойств и кошки сыты и мышки целы.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |