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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.12.2006, 16:35   #1  
art06 is offline
art06
Участник
Аватар для art06
 
192 / 10 (1) +
Регистрация: 11.08.2006
Выгружаю данные в XML.
Получаю результат -

<XML-28.12.06 Заголовок="Navision LOG">
<Record Polzov="sa" Type_Log="REPORT" ReportID="123" DataTime="28.12.06 15:15" />
</XML-28.12.06>

Для выгрузки использую 'Microsoft XML, v3.0'.
Допустим, через час - возникает необходимость выгрузить еще данные в этот же файл.
Тоесть нужно чтобы был такой результат -

<XML-28.12.06 Заголовок="Navision LOG">
<Record Polzov="sa" Type_Log="REPORT" ReportID="123" DataTime="28.12.06 15:15" />
<Record Polzov="sa" Type_Log="REPORT" ReportID="12" DataTime="28.12.06 16:15" />
</XML-28.12.06>

Вопрос - ест ли возможность добавить строку <Record Polzov="sa" Type_Log="REPORT" ReportID="12" DataTime="28.12.06 16:15" /> внутрь корневого тэга ?
Старый 29.12.2006, 10:36   #2  
.Quattro. is offline
.Quattro.
Участник
Лучший по профессии 2009
 
194 / 22 (1) +++
Регистрация: 22.05.2006
Что-то вроде следующего кода должно быть:

Код:
CREATE(xmlDocument);
xmlDocument.Load(...);
xmlHeader := xmlDocument.documentElement;

xmlRecord := xmlDocument.createNode('element','Record','');
xmlHeader.appendChild(xmlRecord);
xmlDocument.Save(...);

xmlDocument	: 'Microsoft XML, version 2.0'.DOMDocument	
xmlHeader: 'Microsoft XML, version 2.0'.IXMLDOMElement	
xmlRecord: 'Microsoft XML, version 2.0'.IXMLDOMElement
Старый 09.01.2007, 13:28   #3  
art06 is offline
art06
Участник
Аватар для art06
 
192 / 10 (1) +
Регистрация: 11.08.2006
Спасибо за помощь. Но, все равно не получается - не удается добавить новую запись

Хотя нет. Получилось. Коечто - необходимо изменить - а, вообще принцип оказалсЯ верным. Спасибо !!!
Старый 09.10.2007, 11:47   #4  
Bogy is offline
Bogy
Участник
 
7 / 10 (1) +
Регистрация: 06.07.2007
Возник такой вопрос. Используя DOMDocument, получаю нужный мне XML-файл, но там все данные одной строкой. Кто-нибудь знает способ выгружать файл с нормальным форматированием текста через DOMDocument? Иначе при возникновении ситуации, когда нужно найти ошибку в файле и поправить в редакторе, встает проблема.
Старый 09.10.2007, 13:38   #5  
Forward is offline
Forward
Участник
 
101 / 10 (1) +
Регистрация: 21.05.2007
Попробуйте использовать XMlShell или программу подобного рода.
Старый 09.10.2007, 14:50   #6  
Bogy is offline
Bogy
Участник
 
7 / 10 (1) +
Регистрация: 06.07.2007
Цитата:
Сообщение от Forward Посмотреть сообщение
Попробуйте использовать XMlShell или программу подобного рода.
Найти XML-редактор не проблема. Вопрос был как вывести в файл форматированный текст, а не все одной строкой.
Старый 25.10.2007, 12:37   #7  
rruskih is offline
rruskih
Участник
Аватар для rruskih
 
12 / 10 (1) +
Регистрация: 12.03.2007
Цитата:
Сообщение от Bogy Посмотреть сообщение
Найти XML-редактор не проблема. Вопрос был как вывести в файл форматированный текст, а не все одной строкой.
это xml-файл, а не текстовик... потому ничего я так думаю не выйдет... а в части ошибки, приведите хотя бы ее пример
Старый 29.10.2007, 17:01   #8  
zm is offline
zm
Участник
 
44 / 10 (1) +
Регистрация: 15.07.2003
Адрес: Латвия
Mozno poprobovat' tak:

XMLFile.OPEN(FileName);
XMLFile.SEEK(0);
XMLFile.CREATEINSTREAM(InBuffer);
WITH NewXMLFile DO BEGIN
CREATE('c:\navxml.tmp');
CREATEOUTSTREAM(OutBuffer);
InBuffer.READTEXT(Buffer,xxx); //xxx - to k-vo simvolov, kot. nuzno ostavit'
OutBuffer.WRITETEXT(Buffer);
Buffer := '.........'; //svoj text, kot nuzno dobavit' to XML file header
OutBuffer.WRITETEXT(Buffer);
WHILE XMLFile.POS < XMLFile.LEN DO BEGIN
InBuffer.READTEXT(Buffer,1024);
OutBuffer.WRITETEXT(Buffer);
END;
CLOSE;
END;
XMLFile.CLOSE;
ERASE(FileName);
RENAME('c:\navxml.tmp',FileName);
 


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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:15.