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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.04.2007, 11:11   #1  
Sergo is offline
Sergo
Участник
Аватар для Sergo
Axapta Retail User
 
44 / 10 (1) +
Регистрация: 26.09.2005
Адрес: Москва
Вновь про XML
Привет всем!
Есть проблема с выгрузкой данных в XML, точнее в формате записи. При формировании получается такой вид
<Данные><Информация>12345</Информация></Данные>
все хорошо, если этот файл имеет небольшой размер, а у меня сформированный файл весит 15 М - (готовим декларацию по алкоголю), т.е. это одна строка...?!
Даже VS NET 2005 виснит при открытии файла. При том, что уже преобразованный в нормальный вид - открывается влет!!!!!
Искал на форуме - ничего не нашел...
Подскажите как мне получить нормальный вид
<Данные>
<Информация>
12345
</Информация>
</Данные>
Старый 18.04.2007, 11:16   #2  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
Непонел, ведь нормальная запись считается:

... <tag><tag2>data</tag2></tag> ...

Помоему разницы в загрузке не должно быть...!!!
Старый 18.04.2007, 11:18   #3  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
А какая разница в одну строку или нет, Вы что в текстовом редакторе его будете просматривать. Я делал xml и большего размера в одну строку. Да, Explorer вешается когда открывает, но он нормально парсится. Если тормозит при парсинге, то нормальный вид думаю не поможет.
Старый 18.04.2007, 12:00   #4  
Sergo is offline
Sergo
Участник
Аватар для Sergo
Axapta Retail User
 
44 / 10 (1) +
Регистрация: 26.09.2005
Адрес: Москва
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
А какая разница в одну строку или нет
В том-то и дело, что разница есть. При сдаче декларации в налоговой этот файл не принемается....., после его конвертации в "нормальный вид" через vs net 2005 - все нормально, вот и встает вопрос как избавиться от лишней операции по конвертации.
Старый 18.04.2007, 12:17   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Как вариант - после создания файла, открывайте его через ASCIIO и вставляйте после каждого закрывающего тега перенос каретки

Правда ИМХО не должно влиять на производительность то, как выглядит файл.
Старый 18.04.2007, 12:24   #6  
Sergo is offline
Sergo
Участник
Аватар для Sergo
Axapta Retail User
 
44 / 10 (1) +
Регистрация: 26.09.2005
Адрес: Москва
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Правда ИМХО не должно влиять на производительность то, как выглядит файл.
Влияет - в одном случае длина строки до 100 символов, в другом 30 млн.
Старый 18.04.2007, 12:34   #7  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
можно прогначть через этот xsl
Старый 18.04.2007, 12:37   #8  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
еще так:
X++:
static void Job30(Args _args)
{
    XMLDocument x= XMLDocument::newBlank();
    XMLElement root =  x.appendChild(x.createElement('x'));
;
    x.preserveWhitespace(true);
    root.appendChild(x.createElement('line1'));
    root.appendChild(x.createTextNode('\r\n'));
    root.appendChild(x.createElement('line2'));
    info(x.xml());
}
Старый 18.04.2007, 12:57   #9  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
Цитата:
Сообщение от Sergo Посмотреть сообщение
Влияет - в одном случае длина строки до 100 символов, в другом 30 млн.
Причем тут длинна строки - помоему нормалные парсеры не парсят по строкам, а бинарно/последовательно.

Цитата:
При сдаче декларации в налоговой этот файл не принемается
Есть такая фишка - "Validate" ... если всё нормально, тогда XML правильный, если XML правильный, значит ВЫ сделали свою работу на все 100%.
Старый 18.04.2007, 13:01   #10  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Есть такая фишка - "Validate" ... если всё нормально, тогда XML правильный, если XML правильный, значит ВЫ сделали свою работу на все 100%.
Осталась мелочь -- обяснить это налоговой
За это сообщение автора поблагодарили: kashperuk (3).
Старый 18.04.2007, 13:47   #11  
Sergo is offline
Sergo
Участник
Аватар для Sergo
Axapta Retail User
 
44 / 10 (1) +
Регистрация: 26.09.2005
Адрес: Москва
Буду пробовать (я про налоговую). Спасибо.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
dax-lessons: Generate XML Documentation Files for a project - DAX 2009 Blog bot DAX Blogs 0 08.08.2008 19:06
axStart: How to use XSLT in AIF and what’s wrong with empty xml Nodes. Blog bot DAX Blogs 0 27.04.2008 18:07
Inside Dynamics AX 4.0: The XML Structure Blog bot DAX Blogs 0 04.10.2007 11:20
Inside Dynamics AX 4.0: XML Document Integration Blog bot DAX Blogs 0 04.10.2007 11:20
casperkamal: Data XML Generation Wizard - Version 2.0 For Dynamics Ax Blog bot DAX Blogs 0 04.03.2007 23:04

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

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

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