Имя: Пароль:
1C
1C 7.7
v7: Открыть файл XML для редактирования в 1с 77
0 Amig0_0
 
12.03.13
11:59
Доброго времени суток. 1с занимаюсь с недавнего времени и тут столкнулся с вопросом редактирования XML.

Задача такова. Открыть XML файл, найти в нем строчку
<dataroot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" generated="2012-10-05T12:04:32">
и после нее добавить свои данные, сохранить с новыми данными.

У меня уже получилось создать XML документ и выгрузить его с нужными данными. Но мне нужно не создавать его с нуля а открыть уже имеющийся XML и добавить данные после описанной выше строки.

Как правильно это сделать?
1 Wobland
 
12.03.13
12:00
воспринимать XML как текст подойдёт?
2 sapphire
 
12.03.13
12:03
(0) Открой для себя Microsoft XML DOM
3 Надсмотрщик
 
12.03.13
12:09
(0) V7plus.dll
4 VasilyKushnir
 
12.03.13
12:17
А такое не подойдет: гугел -> akXMLedit_1-5-0-7
5 sapphire
 
12.03.13
12:21
(3) Зачем?  Microsoft XML DOM вполне достаточно.
6 Amig0_0
 
12.03.13
12:25
V7plus.dll я уже установил, но не особо понимаю как им пользоваться)

а Microsoft XML DOM это что?
7 Amig0_0
 
12.03.13
12:26
дело в том что мне нужно чтобы оно работало непосредственно из 1с
8 Wobland
 
12.03.13
12:32
Попытка
       DOMDocument = CreateObject("Msxml2.DOMDocument.4.0");
   Исключение
       DOMDocument = CreateObject("Msxml2.DOMDocument");
   КонецПопытки;

непосредственно из семёрки
9 Wobland
 
12.03.13
12:33
или вот:

   мXMLАнализатор = СоздатьОбъект("AddIn.XMLParser");
   
   мЧтениеXML = мXMLАнализатор.СоздатьПоследовательноСчитываемыйДокумент();
10 Amig0_0
 
12.03.13
12:39
спасибо!
+ нашел документацию по V7plus.dll
что нибудь точно сработает)
11 kiruha
 
12.03.13
12:41
(0)
Для такой простой задачи не нужен XML

RegExp = Новый COMОбъект("VBScript.RegExp");

ищешь шаблон и меняешь
12 kiruha
 
12.03.13
12:51
RegExp.Pattern = "<dataroot xmlns[^>]+>";
Стр = RegExp.Replace(Стр, МойШаблон);

как передать и записать файл
Как победить RegExp при большом объеме файла?
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший