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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.12.2020, 23:18   #1  
rootx is offline
rootx
Участник
 
28 / 18 (1) ++
Регистрация: 17.02.2008
Импорт в Аксапту файла XML электронных лисов нетрудоспособности
Здравствуйте! Все вроде было хорошо, и новый год близко.
Но не тут то было, ФСС без объявления войны выкатил новый формат ЭЛН, который выгружается для работодателей, и уже импортируется в системы.

У нас Аксапта 2009, внедрены расчеты с персоналом и кадры.
Был пару лет назад разработан импорт ЭЛН из xml файла.

Сейчас поменялся формат, начал дорабатывать и столкнулся с какой то очень плохой штукой.

Был формат такой, что перед каждым тегом стоял префикс ns1:
Аксапта это все хорошо кушала, и все было хорошо.
Сейчас ФСС с большей половины тегов убрала префиксы оставила только сами теги.
Так вот без префиксов файл не читается.

Внимание вопрос!

Было ли у кого что-то подобное, при парсинге xml? Может какие то есть другие способы получить данные?

Может я неправильно что-то делаю.

Почитал форум но ничего для себя не нашел..

Старый XML
PHP код:
-<ns1:ROW>
<
ns1:SNILS>1083353552378</ns1:SNILS>
<
ns1:SURNAME>Иванов</ns1:SURNAME>
<
ns1:NAME>Иван</ns1:NAME>
<
ns1:PATRONIMIC>Сергеевич</ns1:PATRONIMIC>
<
ns1:BOZ_FLAG>0</ns1:BOZ_FLAG>
<
ns1:LPU_EMPLOYER>ООО ДРУЖБА </ns1:LPU_EMPLOYER>
<
ns1:BIRTHDAY>1987-09-05</ns1:BIRTHDAY>
<
ns1:GENDER>0</ns1:GENDER
Старый код
X++:
//Считывание файла xml
    doc = XmlDocument::newFile(filename);
    
    nsmgr = new XmlNamespaceManager(doc.nameTable());

    nsMgr.addNamespace('ns1','http://ru/ibs/fss/ln/ws/FileOperationsLn.wsdl');

    NodeListRow = doc.selectNodes('//ns1:ROW',nsMgr);

    elementRow = NodeListRow.nextNode();

    while (elementRow)
    {
        nodeNAME = elementRow.selectSingleNode('ns1:NAME',nsMgr);
        If (nodeNAME)
        NAME = nodeNAME.text();
    }
Новый XML
PHP код:
-
<
responseRow>
<
snils>15353535354</snils>
<
surname>Ильина</surname>
<
name>ТАТЬЯНА</name>
<
patronymic>Сергеевна</patronymic>
<
lnCode>910048299791</lnCode>
<
primaryFlag>true</primaryFlag>
<
duplicateFlag>false</duplicateFlag>
<
lnDate>2020-12-09</lnDate>
<
lpuName>ГАУЗ " ЦРБ"</lpuName
Новый код
X++:
doc = XmlDocument::newFile(filename);

NodeListRow = doc.selectNodes('//responseRow');

elementRow = NodeListRow.nextNode();

while (elementRow)
{
        info(elementRow.selectSingleNode('Name').text());
        elementRow = NodeListRow.nextNode();
}
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Приведите пример рабочего .xml файла netget DAX: Программирование 4 17.09.2017 11:31
kurthatlevik: AX suggestion: XML Columns and XML indexes Blog bot DAX Blogs 0 28.10.2015 20:11
kurthatlevik: AX suggestion: XML Columns and XML indexes Blog bot DAX Blogs 0 28.08.2015 13:11
Формирование XML файла - приведите пример плиз! Pavlo AKA Panok DAX: Программирование 18 20.02.2008 23:41
Импорт данных из XML файла Sanek DAX: Программирование 0 01.04.2005 17:56
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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