Архив

Как сделать экспорт в XML без плагинов

Часто для импорта в некоторые CMS или другие системы нужно на выходе получить XML файл. Средствами Датакол + плагина можно это сделать. Но если это разовое дело, то можно обойтись и без него.

Вот пример XML файла:

<?xml version="1.0" encoding="utf-8" ?>
<listings>
    <listing>
        <title lang="ru_RU">Заголовок</title>
        <content lang="ru_RU"><![CDATA[Lor4em ipsum dolor sit amet, consectetur adipiscing elit. Donec id nulla dolor. Ut aliquet, mauris id molestie porttitor, dui lorem pretium sem, quis vestibulum orci purus ultrices lacus.]]></content>
        <category lang="ru_RU">98</category>
        <contactemail>email@yahoo.com</contactemail>
        <contactname>Mr. False Name1</contactname>
        <price>123.45</price>
        <city>Arizona</city>
        <image>http://conejo.me/cats/153.jpg</image>
        <datetime>2013-03-08 12:34:56</datetime>
    </listing>
</listings>

В Датакол создаем одноименные поля, чтобы было понятнее нам: title, content, category, contactemail, contactname, price, city, image, datetime

Настраиваем получение в них данные. И далее настраиваем произвольный формат экспорта:

<PUTONCE><?xml version="1.0" encoding="utf-8" ?>
<listings></PUTONCE>
    <listing>
        <title lang="ru_RU">"%title%"</title>
        <content lang="ru_RU"><![CDATA["%content%"]]></content>
        <category lang="ru_RU">"%category%"</category>
        <contactemail>%contactemail%</contactemail>
        <contactname>%contactname%</contactname>
        <price>%price%</price>
        <city>%city%</city>
        <image>%image%</image>
        <datetime>%datetime%</datetime>
    </listing>

Тут мы между <PUTONCE></PUTONCE> вставляем постоянную часть, а дальше уже <listing> это отдельный элемент. На выходе мы получим готовый XML файл, только в конце нужно будет открыть файл любым редактором и добавить тег </listings>, который мы открывали в <PUTONCE>. По другому никак, если бы можно быль использовать несколько раз <PUTONCE>, то можно было бы и обойтись без этого.

Нужна доработка или готовое решение?

Опишите задачу — отвечу в течение дня и назову сроки и стоимость.

Комментарии: 0

  1. YML таки можно сформировать для Яндекс Маркета. Там есть постоянная часть и 2 переменных — 1ая переменная — в теге categories, их парсить и записывать в 2 столбца как дочернию и родительскую первыми строками, генерировать id (это уже хз как делать, вижу вариант — преобразовывать название категории в цифровой код или на худой конец транслитирировать), 2ая переменная часть — в теге offers это то что мы обычно парсим о товарах. Вот добавление тега в конце лучше конечно через плагин делать.

Оставить комментарий