Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Импорт XML

00 голосов
4
Здравствуйте. Необходимо произвести импорт данных в xml. у ИБ(Инфо Блока) есть свойство text/html. Я генерирую содержимое этого свойства и создаю xml для импорта данных. Но В итоге поле остается пустым. Пробуя разные подходы пришёл к мнению что вся причина в неправильном подсчете количества символов. Простой пример
Код
|<p>text</p>|
срабатывает для импорта строка выглядит следующим образом
Код
<Значение>a:2:{s:4:&quot;TEXT&quot;;s:13:&quot;|&lt;p&gt;text&lt;/p&gt;|&quot;;s:4:&quot;TYPE&quot;;s:4:&quot;html&quot;;}</Значение>
. Но стоит добавить перенос или отступы как уже даже и такой простой html кантент не проходит.preg_replace пробовал удалять переносы и табуляцию. Как правильно подсчитать количество символов, что бы импорт прошёл удачно.
спросил 28 Сен, 13 от Koshta (160 баллов)

4 Ответы

00 голосов
После долгих экспериментов было замечено что если побывать импортировать с генерированный xml файл то html содержимое игнорируется. Но если файл пере сохранить то есть открываю его дримвивером меняю предположим дату создания xml или попросту делаю отступ и сразу удаляю его и пере сохраняю. То данные отлично импортируются в битрикс. Что же не так с сохранением файла ? По размерам оригинал и пере сохраненный отличаются в 1 кб. При этом количество строк или значений каких либо свойств не меняется. Кто что думает по этому поводу ?
ответил 08 Окт, 13 от Koshta (160 баллов)
00 голосов
Подсчет символов правильный
Код
$str= str_replace(array("\n"),"\r\n",$str);


Проблему с пере сохранением удалось решить изменением шаблона генерируемого xml.

Желаемое было достигнуто: считываются данные с екселя и генерируется xml. Который в свою очередь соответствует шаблону с набором необходимых настроек по нужному ИБ.
ответил 08 Янв, 14 от Koshta (160 баллов)
00 голосов
а можешь показать строчки кода, в которых ты перегоняешь значение из xml в свойство инфоблока с типом html/text?
ответил 26 Апр, 14 от Alucards (100 баллов)
00 голосов
Там я с экселя генерировал XML для импорта в ручном режиме в базу. Необходимо сформировать сериализованый массив.
ответил 21 Авг, 14 от Koshta (160 баллов)

Похожие вопросы

0 голосов
4 ответов
спросил 20 Март, 13 от wogich (630 баллов)
0 голосов
1 ответ
0 голосов
1 ответ
0 голосов
1 ответ
спросил 19 Июнь, 17 от аноним