Краткое описание формата WXR

Без рубрики   26 Сентябрь 2013  Автор статьи:  

WXR — формат, созданный для импорта и экспорта записей, комментариев и страниц из/в WordPress. Для того чтобы получить WXR файл своего сайта, достаточно нажать «Инструменты» и выбрать пункт «Экспорт».
wordpress-export-sample
После этого достаточно щелкнуть «Скачать файл экспорта», и все ваши комментарии, записи и страницы готовы к дальнейшей транспортировки. Сразу видно, что WXR файл представляет собой xml-файл со своей структурой. Давайте рассмотрим ее более подробно:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"
    xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:wp="http://wordpress.org/export/1.2/"
>
    <channel>
    <wp:wxr_version>1.0</wp:wxr_version>           
        <item>
            <title>Импорт записей из xml файла</title>
            <link>http://evakfast.ru/import-zapisej-iz-xml-fajla/</link>
            <pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
            <dc:creator>admin</dc:creator>
            <guid isPermaLink="false">http://evakfast.ru/import-zapisej-iz-xml-fajla/</guid>
            <description></description>
            <content:encoded><![CDATA[Тело статьи, которую вы можете создавать вручную и экспортировать в WordPress.<br/>Инструменты — Импорт — WordPress]]></content:encoded>
            <excerpt:encoded><![CDATA[]]></excerpt:encoded>
            <wp:post_id>63</wp:post_id>
            <wp:post_date>1970-01-01 04:00:00</wp:post_date>
            <wp:post_date_gmt>1970-01-01 00:00:00</wp:post_date_gmt>
            <wp:comment_status>open</wp:comment_status>
            <wp:ping_status>open</wp:ping_status>
            <wp:post_name>import-zapisej-iz-xml-fajla</wp:post_name>
            <wp:status>publish</wp:status>
            <wp:post_parent>0</wp:post_parent>
            <wp:menu_order>0</wp:menu_order>
            <wp:post_type>post</wp:post_type>
            <wp:post_password></wp:post_password>
            <wp:is_sticky>0</wp:is_sticky>
            <category domain="category" nicename="%d0%b1%d0%b5%d0%b7-%d1%80%d1%83"><![CDATA[Без рубрики]]></category>
        </item>    
    </channel>
</rss>

Первая строчка нам говорит о том, что данный файл — это xml-документ. Вторая строчка показывает, что данный файл — это rss. Далее следует контейнер «channel», внутри которого мы будем помещать все элементы, которые есть у нас на сайте. Сначала указывается версия файла WXR, а также общая информация о сайте (в данном файле я ее удалил).

  • title — название сайта
  • link — ссылка на сайт
  • description — описание сайта
  • pubDate — дата создания WXR-документа
  • generator — имя или ссылка на программу, которая создала данный файл
  • language — язык, который используется в блоге
  • wp: wxr_version — версия WXR-документа
  • wp:base_site_url — адрес хостинг провайдера
  • wp:base_blog_ur — имя домена, на котором расположен сайт

После этого идет произвольное количество тегов category, которые содержат информацию о всех категориях:

  • wp:cat_name — название категории
  • wp:category_nicename — название категории для URL
  • wp:category_parent — необходимо указать всех родителей, если такие присутствуют (Много родителей будут в том случае, если данная категория принадлежит целой иерархии категорий)

Далее идут достаточно редко используемые параметры, поэтому мы сразу перейдем к основным полям у тега item:

  • title — заголовок
  • link — ссылка на элемент
  • description — описание
  • dc:creator — автор поста
  • category — здесь необходимо указать к каким категориям относится данный элемент
  • guid — глобальный идентификатор, который служит для идентификации записей RSS. Атрибут isPermaLink=false показывает, что данный идентификатор не является рабочей ссылкой
  • wp:post_id — уникальный идентификатор, который выдается странице или записи.
  • wp:post_date — дата публикации
  • wp:comment_status — открыты или закрыты комментарии для этой записи
  • wp:post_name — уникальное имя, которое можно применять для URL
  • wp:status — статус элемента, может быть: «publish», «draft», «pending»,»private»
  • wp:post_type — тип элемента, может быть «post», «page»,»media»

Далее идут комментарии, которые имеют примерно аналогичную структуру. На этом я заканчиваю описание формата WXR, но хочется отметить, что при импорте в WordPress, большинство тегов и параметров можно пропустить, тогда WordPress сам выставит их по умолчанию, поэтому достаточно просто генерировать такой xml файл для массовой заливки контента в WordPress.

Научиться программировать

  • на Delphi

  • на Java

  • на C++