Формат XML файла для экспорта на портал metry.ua
Универсальный XML-формат импорта объявлений в индекс Krysha.ua + размещение на Metry.ua
Krysha.ua+Metry.ua принимает объявления в виде XML файла согласно описанному ниже формату. Для примера приведен XML файл, в который включено только одно объявление.
Пример XML файла:
<objects>
<object>
<original_id>118</original_id>
<original_url> http://www.vashsite.ua/obyava/9222 </original_url>
<created>2010-02-23</created>
<updated>2010-07-02</updated>
<contact>
<email>vasya@site.com</email>
<phone>097-123-45-67</phone>
<name>Петя</name>
</contact>
<type>2</type>
<transaction>sale</transaction>
<price>
<currency>USD</currency>
<value>123444</value>
<price_per>all</price_per>
</price>
<location>
<region lang="ru">Киевская</region>
<city lang="ru">Киев</city>
<district lang="ru">Кловская</district>
<street lang="ru">пр. Мира</street>
<house>48</house>
</location>
<square>
<total>230</total>
<living>230</living>
<kitchen>230</kitchen>
<land>0.10</land>
</square>
<parameters>
<floor>2</floor>
<floors>5</floors>
<rooms>3</rooms>
</parameters>
<description>
<![CDATA[Описание недвижимости]]>
</description>
<media>
<photo> http://site.com/images/1.jpg </photo> <photo> http://site.com/images/2.jpg </photo>
</media>
</object>
</objects>
Файл данных должен:
- Содержать главный элемент документа objects, то есть начинаться открывающим тегом <objects> и заканчиваться закрывающим тегом</objects>.
- Каждое объявление должно быть представлено элементом <object>
- Быть правильно сформированным (well formed) и валидным (valid) согласно прилагаемой XML схеме.
Определения тегов XML:
Элемент | Обязательный | Описание |
<tag> | Да | Имя соответствующего тега |
Value | Да | Значение тега. Будет предпринята попытка автоматически определить номер значения в справочнике krysha.ua, используя указанное значение. |
lang | Нет | Допустимые значения: ru или ua. Язык, на котором задано значение тега. Значение по умолчанию: ru |
Тег | Обязательный | Описание |
<objects> | Да | Главный элемент документа, контейнер для списка объявлений |
<object>
| Да | Контейнер объявления. Родительский тег для каждого объявления. Остальные теги являются дочерними для этого тега. |
<original_id>
| Да | Уникальный идентификатор объявления в базе данных сайта |
<original_url> | Да | Адрес объявления на сайте |
<created>
| Да
| Дата добавления объявления в базе данных сайта, формат YYYY-MM-DD |
<updated> | Да | Дата последнего обновления объявления в базе данных сайта, формат YYYY-MM-DD |
<contact> | Да | Родительский элемент для описания контактных данных объявления |
<email> | Да | Дочерний элемент тега contact. Адрес электронной почты контакта объявления |
<phone> | Да | Дочерний элемент тега contact. Телефон контакта объявления |
<name> | Да | Дочерний элемент тега contact. Имя контакта объявления |
<type> | Да | Целое число – категория объявления: 2 Квартиры 3 Дома и дачи 5 Гаражи, стоянки 6 Земельные участки 7 Офисные помещения 8 Склады 9 Торговые помещения 10 Производство 11 Сфера обслуживания 13 Многоцелевая |
<transaction> | Да | Тип объявления sale Продажа lease Аренда |
<price> | Да | Родительский элемент для описания цены |
<currency>
| Да
| Дочерний элемент тега price. Валюта USD Доллары США UAH Гривны EUR Евро |
<value> | Да | Дочерний элемент тега price. Цена |
<price_per> | Да | Дочерний элемент тега price. Тип цены: all за все sqm за м2 sqa за сотку sqh за Га day посуточно hr почасово mn помесячно sqmmn за м2/месяц sqamn за сотку/месяц sqhmn за Га/месяц |
<location> | Да | Родительский элемент для описания адреса |
<region> | Да | Дочерний элемент тега location. Регион в формате location_part |
<city> | Да | Дочерний элемент тега location. Город в формате location_part |
<district> | Нет | Дочерний элемент тега location. Район города в формате location_part |
<street> | Нет | Дочерний элемент тега location. Название улицы. Необязательный атрибут lang определяет язык, допустимые значения: ru, ua. Значение по умолчанию: ru |
<house> | Нет | Дочерний элемент тега location. Номер дома |
<square> | Да | Родительский элемент для описания площади |
<total> | Да | Дочерний элемент тега square. Общая площадь (вещественное число). Площадь участка для типа объявлений 6 – Земельные участки |
<living> | Нет | Дочерний элемент тега square. Жилая площадь (вещественное число) |
<kitchen> | Нет | Дочерний элемент тега square. Площадь кухни (вещественное число) |
<land> | Нет | Дочерний элемент тега square. Площадь участка в гектарах (вещественное число). Для типа объявлений 6 – Земельные участки может быть не задан или должен совпадать с общей площадью |
<parameters> | Нет | Родительский элемент для описания дополнительных параметров |
<floor> | Нет | Дочерний элемент тега parameters. Этаж объекта (целое число) |
<floors> | Нет | Дочерний элемент тега parameters. Этажность объекта (целое число) |
<rooms>
| Нет | Дочерний элемент тега parameters. Число комнат (целое число) |
<description> | Нет | Описание объекта в свободном формате. Допускается применение HTML форматирования, в этом случае значение должно быть заключено в секцию CDATA |
<media> | Нет | Родительский элемент для перечисления ссылок на медиа файлы. Содержит вложенные теги photo и video. Сначала должны быть указаны все фотографии, затем - видео |
<photo> | Нет | Дочерний элемент тега media. URL фотографии |
Маскирование символов
Файл данных должен быть создан в кодировке UTF-8. Специальные символы в значениях должны быть преобразованы в соответствующие сущности согласно таблице:
Символ | Преобразование | |
Амперсанд | & | & |
Одинарные кавычки | ' | ' |
Двойные кавычки | " | " |
Больше | > | > |
Меньше | < | < |
Для маскировки символов в PHP рекомендуем использовать функцию checkxmlchars()
