как правильно копировать XML в XML с выборочными элементами ?
☑
0
DES
06.04.21
✎
14:32
XML1 ="
<Documents>
<Document>
<Supplier ID="1"/>
<Buyer ID="2"/>
<Transporter ID="3"/>
</Document>
</Documents>
";
Как из XML1 скопировать в XML2
<Documents>
<Document>
<Supplier ID="1"/>
<Buyer ID="2"/>
</Document>
</Documents>
(без строковых функций)
1
RomaH
naïve
06.04.21
✎
14:39
DOM документ и ... в СП
2
minsk1s
06.04.21
✎
22:02
(1) размер файла надо смотреть. через DOM большой объем замучаешься..
3
minsk1s
06.04.21
✎
22:04
(0) любой способ чтения и потом запись по примеру:
https://1cnik.by/xml.php
4
RomaH
naïve
07.04.21
✎
14:29
(2) ... большой это сколько? если через DOM замучаешься, то через что - нет?
5
Гений 1С
гуру
07.04.21
✎
14:31
(4) ну думаю до 50Мегов ДОМ скушает.
6
Гений 1С
гуру
07.04.21
✎
14:32
погугли XSLT преобразования, вроде они и в 1с есть, не?
7
RomaH
naïve
07.04.21
✎
15:28
ДокументXML = Построитель_DOM.Прочитать(ЧтениеXML);
на 120 метров без форматирования - 9 секунд
8
RomaH
naïve
07.04.21
✎
15:34
прикольно
после того как ЧтениеXML читаю в DOM
Данные = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML); падает в ошибку преобразования
вот так работает
ТекстНСИ = ДокументНСИ.ФайлНСИ.Получить().ПолучитьТекст();
ЧтениеXML = Новый ЧтениеXML();
ЧтениеXML.УстановитьСтроку(ТекстНСИ);
Данные = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);
а вот так - нет:
ТекстНСИ = ДокументНСИ.ФайлНСИ.Получить().ПолучитьТекст();
ЧтениеXML = Новый ЧтениеXML();
ЧтениеXML.УстановитьСтроку(ТекстНСИ);
Построитель_DOM = Новый ПостроительDOM;
ДокументXML = Построитель_DOM.Прочитать(ЧтениеXML);
Данные = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);
9
Вафель
07.04.21
✎
15:42
у тебя во 2 случае чтение уже уходит в конец поэтому и не читается
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс