AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.06.2008, 16:14   #19  
Иван33 is offline
Иван33
Участник
 
38 / 10 (1) +
Регистрация: 15.12.2007
Цитата:
Сообщение от apanko Посмотреть сообщение
Структура итогового файла такая (как в вашем первом посте):


Что вы имеете в виду: "хмл делается с нуля"?.
Я предложил способ добавления тега к хмл-файлу создаваемому хмл-портом. Шаги:

* Выгружаем хмл-структуру во что-нибудь, поддерживающее потоки (выгружаем ХМЛ-портом). Я выгружал во временный файл.
* Загружаем хмл-структуру из временного файла в бигтекст.
* С помощью фукнции аддтекст добавляем в нужное (нужное место было определено экспериментальным путем) наш текст: '<?....?>'
* Выгружаем отредактированную хмл-структуру из бигтекста в файл (уже настоящий, а не временный).

Точно также можно править любые хмл-файлы, достаточно открыть файл, создать поток и запихнуть этот поток в бигтекст. Далее АддТекст(нужный текст, нужное место) и отправка модифицированного потока обратно.

Ограничение, как я сказал UTF-16 кодировка. Но думаю ее тоже можно победить.
апанко, снимаю шляпу на бывшем месте работы над проблемой бились "лучшие умы", но не добились решения. сначала пытались вмешаться в работу эксемель порта на той стадии, где появляется самая первая строка эксемель-файла (первая инструкция процессору - Processing Instruction) и далее начинается самый первый тэг (Root) - корень. мутили что-то с потоками, там передача его туда сюда, триггерами эксемель порта, но ничего не получилось, вставляемая строка появлялась то вначале вообще всего файла, то в конце всего файла и т. п. в связи с этим появилось подозрение, что мс спецом это сделало (по моему мнению, казалось бы необходимая операция и самая простая). ну, а дальше бились над вариантом, который работает у вас, в итоге тоже не смогли. пришлось разбираться мне в XML DOM и в преломлении к Navision.

"Что вы имеете в виду: "хмл делается с нуля"?." - когда структура файла делается постепенно. в контексте использования порта - добавка нужной строки в нужном месте не после того, как уже будет сформирован эксемель этим портом полностью, а постепенно (1 строка, вторая, третья - т. е., есть возможность добавлять, либо не добавлять строку, в зависимости от определённых условий).
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:42.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.