21.12.2020, 23:18 | #1 |
Участник
|
Импорт в Аксапту файла XML электронных лисов нетрудоспособности
Здравствуйте! Все вроде было хорошо, и новый год близко.
Но не тут то было, ФСС без объявления войны выкатил новый формат ЭЛН, который выгружается для работодателей, и уже импортируется в системы. У нас Аксапта 2009, внедрены расчеты с персоналом и кадры. Был пару лет назад разработан импорт ЭЛН из xml файла. Сейчас поменялся формат, начал дорабатывать и столкнулся с какой то очень плохой штукой. Был формат такой, что перед каждым тегом стоял префикс ns1: Аксапта это все хорошо кушала, и все было хорошо. Сейчас ФСС с большей половины тегов убрала префиксы оставила только сами теги. Так вот без префиксов файл не читается. Внимание вопрос! Было ли у кого что-то подобное, при парсинге xml? Может какие то есть другие способы получить данные? Может я неправильно что-то делаю. Почитал форум но ничего для себя не нашел.. Старый XML PHP код:
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(); } PHP код:
X++: doc = XmlDocument::newFile(filename); NodeListRow = doc.selectNodes('//responseRow'); elementRow = NodeListRow.nextNode(); while (elementRow) { info(elementRow.selectSingleNode('Name').text()); elementRow = NodeListRow.nextNode(); } |
|