#0
by vadymdymdym
Привет всем. Встретился с проблемой. При чтении объекта ЧтениеXML при помощи объекта ПостроительDOM узел типа СекцияCDATA преобразовываются в узел типа Текст. Можно ли этого избежать? В самом же объекте ЧтениеXML - да можно. При его создании указываются т.н. параметры XML, в которых один из параметров - это СекцииCDATAКакТекст. Если значение этого параметра равно Ложь - данные секции читаются как нужно. Что делать с объектом ПостроительDOM?
#2
by vadymdymdym
Тем, что мне необходимо считать данные XML, затем изменить то, что мне нужно, а затем снова их сохранить. А при сохранении перетирает все эти секции
#6
by Zhuravlik
DOM можно превратить в дерево значений (затратно), затем обойти файл еще раз, используя чтение XML, и дополнить дерево нужной информацией.
#7
by Zhuravlik
+ кстати, если запись реализуется с XDTO - очень удобно пользоваться таким деревом, как источником данных.
#8
by vadymdymdym
А вот это идея. Наверное придется. Просто думал, может все-таки ДокументDOM может)) Тоже вариант, но не хочется. Ибо, слишком громоздко. С таки же успехом можно и при помощи ЧтенияXML сделать обход и построить дерево Не, с XDTO там никак)) Всем спасибо за варианты.
#9
by Лефмихалыч
проще читать последовательно и последовательно же записывать, подменяя на лету то, что надо заменить. Накладных затрат меньши на пару порядков
#10
by vadymdymdym
Да тоже громоздко. Особенно когда документ содержит разные типы узлов с разными уровнями вложенности. Помог DrShad. Виндовый парсер рулит
#15
by vadymdymdym
Ну... я конечно не силен в этом, но ... насколько я понимаю SAX - это последовательный доступ к документу. Т.е. по сути - это те же объекты ЧтениеXML и ЗаписьXML в 1С-ке, что не приемлимо в силу громоздкости. Ежели поделитесь примером использования SAX в 1С-ке - буду Вам очень признателен))
#17
by vadymdymdym
Спасибо, кэп))). Это мы проходили)). Я думал, я увижу что-то вроде решения моей задачи)). А в моем случае что предлагаете?)) Воспользоваться советом Лефмихалыча с последовательным чтением и записью? Да нет уж. Много букв в коде будет. Не осилю))). А если серьезно - очень много геморроя будет. Ради одной замены в файле будет пройден цикл обработки чтения, распознавания узлов, создания таких же узлов... Зачем если все решается двумя строками selectNodes и element.text="Мое значение"))
#18
by Fragster
у меня наоборот - превращает большие (больше нескольких сотни примерно символов) строки в cdata. Наверное какие-нибудь опции записи могут на это повлиять. Но чисто визуально на другой стороне это никак не влияет на то, как там этот XML потом разбирается.
#19
by vadymdymdym
А вот об этом я не подумал, кстати. Действительно, если парсер здесь воспринимает эти узлы одинаково, то и на той стороне сервак может поступить также. Попробую, отпишусь))
#20
by Garykom
задачка: файлик xml распакованный скажем 500 мегабайт, сколько нужно оперативки на компе чтобы сделать DOM ?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Подготовка к ЗУП спец. (продолжение)
- Как удалить строку из текстового файла в 8.2?
- v7: Как отловить выбор из справочника в табличной части документа
- УТ 11 Сканер штрих кода считыват штрих код но номенклутура не вбивается
- Powershell и 1С через COM
- Ошибка отображения типов: Отсутствует отображение для типа 'ОбщийМодуль'
- Как отразить смену организационно-правовой формы организации в УТ 10.3 и БП 2.0?
- Неправильно присваивается префикс и номер документа
- Как правильно вытянуть данные из одного документа в макет другого??
- Два аппаратных ключа. Организация работы.
- При закрытии терминальной сессии не удаляется сеанс 1С
- Как настроить считыватель магнитных карт
- УФ Команды объектов сохраняют документ и могут не сохранять . Как регулировать ?
- БП 2.0 объединение нескольких ОС в одно
- v7: Addin.MIOConnect подскажите, что это такое
- Управляемые формы. Как открыть форму с параметрами и получить обратно результат?
- В C# работаю с 1С через com не могу понять как оборвать соединение...
- Создание разных наценок на разный товар в УТ 11
- Конвертация данных - из справочника в регистр сведений
- Запрос в отчете в ЗУП 3.0