CXMLFileStream - починить или выкинуть поломаный велосипед

Рейтинг: 14.4510  
Новая
Предложил Пользователь 291336 20.09.2019 10:54:58

CXMLFileStream - починить или выкинуть поломаный велосипед

<?xml version="1.0" encoding="utf-8"?>
<realty-feed xmlns="http://webmaster.yandex.ru/schemas/feed/realty/2010-06">

  <generation-date>2019-08-28T15:53:40+03:00</generation-date>
  <offer internal-id="12345">
    <description>
        <description><![CDATA[
«Времена Года»
]]></description>
    </description>
  </offer>
  <offer internal-id="891011">
    <description><![CDATA[
<Времена Года>
]]></description>
  </offer>
</realty-feed>


не умеет парсить данные в CDATA

почините или выкиньте и перейдете на стандартный xmlreader - который есть даже на бесплатных хостингах

как вообще интеграцию с 1С продаете если такие глюки в базовых классах?

Рейтинг: 1  
Пользователь 291336 09.06.2020 11:32:51
год прошел с момента подачи заявки на исправление - ничего не поправили

но зато нашелся еще один косяк парсера

не может спарсить данные с валидного xml - когда в CDATA - присуствует непарный тег - то парсер ломается

например

<description><![CDATA[Продается <b>2 комнатная квартира с ремонтом с мебелью и сплитами. Дом находится на первом кольце района Гидростроителей, где хорошо развита инфраструктура и хорошая транспортная развязка.]]></description>
Рейтинг: 1  
Пользователь 291336 23.11.2020 18:35:57
а если "повезет" этот чудо-парсер может поломать страницу обновлений

/bitrix/admin/update_system_partner.php?lang=ru

          Система обновлений сторонних решений  
 
  Error parsing XML, unmatched tags DATA[Error]  Call to a member function __toArray() on bool (0) /var/www/vhosts/site.ru/httpdocs/bitrix/modules/main/classes/general/update_class.php:4114 #0: CUpdatesXML->GetArray    /var/www/vhosts/site.ru/httpdocs/bitrix/modules/main/classes/general/update_client_partner.php:2204 #1: CUpdateClientPartner::__ParseServerData    /var/www/vhosts/site.ru/httpdocs/bitrix/modules/main/classes/general/update_client_partner.php:1109 #2: CUpdateClientPartner::GetUpdatesList    /var/www/vhosts/site.ru/httpdocs/bitrix/modules/main/admin/update_system_partner.php:56 #3: require_once(string)    /var/www/vhosts/site.ru/httpdocs/bitrix/admin/update_system_partner.php:2 
Рейтинг: 0  
Пользователь 2106 25.11.2020 11:12:51
Роман, поподробнее можно? UTF8 или нет, версия main, что пытались обновить (какое партнерское решение), etc. Эмоции вещь хорошая, но конкретика лучше. Тем более, что описанное вами поведение - это скорее баг, чем идея.
Рейтинг: 1  
Пользователь 291336 25.11.2020 16:19:02
- подробнее в ТП создан тикет

- это не эмоции а констатация фактов

- проблема в механизме обновлений  (а конкретно в парcере XML который им используется)