Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
harry писал(а): ↑21 Сентябрь 2023, 22:29
Переход на другой парсер ?
Да. Если будете продолжать работать с Clarion запланируйте переход на другой парсер/генератор XML
По текущей проблеме, как вариант предварительно загрузить XML как текст и поменять проблемные места на пробел. Если важны символы то менять на что то типа @@LT @@GT потом парсить в iQxml и возвращать @@LT @@GT обратно в нормальные символы.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
harry писал(а): ↑21 Сентябрь 2023, 20:37
<ИнфПолФХЖ2 Значен="<>" Идентиф="SERTORG"/>
Не уверен в существовании проблемы.
Добавил Вашу строку в пример парсера tXML (просто субклассинг штатного парсера) для разбора пакета ЭДО и выполнил прогон.
Всё штатно - работает, никаких сбоев или прерываний работы парсера я не наблюдаю ...
P/S: Но нужно смотреть - возможно используется другой способ распарса вложенных списков.
1.jpg (12.51 КБ) 1452 просмотра
Последний раз редактировалось Игорь Столяров 23 Сентябрь 2023, 20:22, всего редактировалось 1 раз.
Значит, все таки это проблема конкретного парсера IQXML. Однако, странно почему символ «<« экранирован, а «>» нет, но это уже другой вопрос
Кстати, саму эту строку у меня тоже парсит, но не переходит к следующей (из исходного примера). У Вас переходит?
harry писал(а): ↑23 Сентябрь 2023, 20:18У Вас переходит?
Игорь Столяров писал(а): ↑23 Сентябрь 2023, 20:06
Всё штатно - работает, никаких сбоев или прерываний работы парсера я не наблюдаю ...
P/S: Но нужно смотреть - возможно используется другой способ распарса вложенных списков
harry писал(а): ↑23 Сентябрь 2023, 20:18
Однако, странно почему символ «<« экранирован, а «>» нет
Я проверил в Microsoft EDGE и XML Notepad - указанная Вами строка является корректной и везде правильно парсится.
В т.ч. и штатным парсером. Насчёт iqXML - попробуйте обратится к автору, в своё время он мне крови попил изрядно.