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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.07.2014, 14:18   #1  
BokarevSS is offline
BokarevSS
Участник
 
63 / 12 (1) ++
Регистрация: 13.01.2009
XML
Axapta3.0 sp5FP2vat
Старый 22.07.2014, 14:23   #2  
BokarevSS is offline
BokarevSS
Участник
 
63 / 12 (1) ++
Регистрация: 13.01.2009
Не нашел ничего полезного и понятного про xml. Расскажите пожалуйста (максимально подробнее пожалуйста), как осуществить выгрузку в xml (в моем случае из журнала счета-фактуры), а именно как создать xml, как записать в него разделы, как их закрыть, может еще что-то о чем я не знаю. Спасибо.
Старый 22.07.2014, 14:36   #3  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Привожу пример работы с XML, используя стандартные классы Аксапты:

X++:
    #define.xml('xml')
    #define.ProcessInstructions('version="1.0" encoding="utf-8"')

    XmlDocument   xmlDocument = xmlDocument::newBlank();
    
    XmlElement  Node, childNode;
    FileName    filename;
    ;
    
    xmlDocument.createProcessingInstruction(#xml, #ProcessInstructions);

    Node   = xmlDocument.createNode(XmlNodeType::Element, "Node1", "");
    Node.setAttribute("Attr1", "Value");
    xmlDocument.appendChild(Node);
    childNode = xmlDocument.createNode(XmlNodeType::Element, "ChildData", "");
    childNode.setAttribute("ChildAttr", "Value2");
    Node.appendChild(childNode);
    
    filename = @"D:\xmlTest.xml";
    xmlDocument.save(filename);

Цитата:
Сообщение от BokarevSS Посмотреть сообщение
как осуществить выгрузку в xml (в моем случае из журнала счета-фактуры).
UPD: Если выгружать запись таблицы в формате XML, то можно воспользоваться методом xml() табличной переменной.

Последний раз редактировалось Cardagant; 22.07.2014 в 15:32.
За это сообщение автора поблагодарили: BokarevSS (1).
Старый 23.07.2014, 09:44   #4  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Цитата:
Сообщение от Cardagant Посмотреть сообщение
Привожу пример работы с XML, используя стандартные классы Аксапты:

X++:
    #define.xml('xml')
    #define.ProcessInstructions('version="1.0" encoding="utf-8"')

    XmlDocument   xmlDocument = xmlDocument::newBlank();
    
    XmlElement  Node, childNode;
    FileName    filename;
    ;
    
    xmlDocument.createProcessingInstruction(#xml, #ProcessInstructions);

    Node   = xmlDocument.createNode(XmlNodeType::Element, "Node1", "");
    Node.setAttribute("Attr1", "Value");
    xmlDocument.appendChild(Node);
    childNode = xmlDocument.createNode(XmlNodeType::Element, "ChildData", "");
    childNode.setAttribute("ChildAttr", "Value2");
    Node.appendChild(childNode);
    
    filename = @"D:\xmlTest.xml";
    xmlDocument.save(filename);


UPD: Если выгружать запись таблицы в формате XML, то можно воспользоваться методом xml() табличной переменной.
Дублирую свой ответ по Вашей (BokarevSS) просьбе.
За это сообщение автора поблагодарили: BokarevSS (1).
Старый 24.07.2014, 14:01   #5  
BokarevSS is offline
BokarevSS
Участник
 
63 / 12 (1) ++
Регистрация: 13.01.2009
Расскажите пожалуйста еще, как в родительском разделе создать еще один родителдьский подраздел. Что то не получается.
Старый 24.07.2014, 16:03   #6  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Цитата:
Сообщение от BokarevSS Посмотреть сообщение
Расскажите пожалуйста еще, как в родительском разделе создать еще один родителдьский подраздел. Что то не получается.
Насколько я понимаю, в документ можно внести только один ТОП уровень с помощью строки:

X++:
xmlDocument.appendChild(Node);
Внутри уже создавайте столько уровней, сколько потребуется.
Старый 24.07.2014, 18:08   #7  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
http://erpkb.com/axapta/xml
За это сообщение автора поблагодарили: BokarevSS (1).
Старый 25.07.2014, 10:49   #8  
BokarevSS is offline
BokarevSS
Участник
 
63 / 12 (1) ++
Регистрация: 13.01.2009
Все хорошо, и вроде бы понятно, но как организовать похожую структуру:
<?xml version="1.0" encoding="windows-1251" ?>
- <Файл ИдФайл="имя файла" ВерсПрог="1.0" ВерсФорм="5.01">
- <СвУчДокОбор ИдОтпр="123456" ИдПок="1234456">
<СвОЭДОтпр НаимОрг="ООО блаблабла" ИННЮЛ="123456789" ИдЭДО="2BK" />
</СвУчДокОбор>
- <Документ КНД="1115101">
- <СвСчФакт НомерСчФ="356987" ДатаСчФ="30.06.2014" КодОКВ="643">
- <СвПрод>
- <ИдСв>
<СвЮЛ НаимОрг="Открытое акционерное общество"" ИННЮЛ="6598654588" КПП="1234567" />
</ИдСв>
- <Адрес>
<АдрРФ Индекс="1111111" КодРегион="77" Город="МОСКВА" Улица="Улица" Дом="111" />
</Адрес>
</СвПрод>
- <СвПокуп>
- <ИдСв>
<СвЮЛ НаимОрг="ЖСК" ИННЮЛ="55555555" КПП="11111111" />
</ИдСв>
и т. д.
Как я вижу здесь внутри корневого раздела есть еще корневые. Возможно я ошибаюсь, или что-то недопонимаю?
Старый 25.07.2014, 11:30   #9  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Не вижу где у Вас закрывается тэг <Файл>, но, возможно, это и есть Ваш ТОП уровень, в который включаются остальные тэги?
Старый 25.07.2014, 11:42   #10  
BokarevSS is offline
BokarevSS
Участник
 
63 / 12 (1) ++
Регистрация: 13.01.2009
А, например, вот этот раздел внутри:
***
- <СвУчДокОбор ИдОтпр="123456" ИдПок="1234456">
<СвОЭДОтпр НаимОрг="ООО блаблабла" ИННЮЛ="123456789" ИдЭДО="2BK" />
</СвУчДокОбор>
****

Вот эта конструкция разве не означает, что внутри основноq есть chaild, и при этом, сам "СвУчДокОбор", по сути тоже основной, находится внутри основного. Я делаю такой вывод из символов "-"
Теги
xml, xmldocument

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
goshoom: Parsing XML files with .NET Interop Blog bot DAX Blogs 0 07.05.2013 12:11
kamalblogs: Converting a System.Xml.XmlDocument to XML type in Dynamics ax Blog bot DAX Blogs 0 19.04.2010 09:05
X++: Serializing Axapta Foundation Class instances as XML streams Blog bot DAX Blogs 0 04.06.2009 23:05
PatrickChua: XML serialization Blog bot DAX Blogs 0 04.05.2009 14:05
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
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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