|
|
|
|
как правильно копировать 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 случае чтение уже уходит в конец поэтому и не читается
|
|
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.