Вы здесь

Как настроить Feeds для импорта из XML?

0

Пытаюсь проимпортировать данные из xml-файла с помощью feeds. Раньше импортировал csv, там ничего сложного, а с xml не могу понять как настраивать соответствия полей при импорте.

Поставил доп модуль - https://www.drupal.org/project/feeds_xpathparser

Допустим такой XML:

<?xml version="1.0" encoding="utf-8"?>
<Offers>
    <Offer Code="78813" Name="Дексалгин р-р д/ин. 50мг/2мл амп.N5" Producer="Берлин Хеми АГ, Германия" />
</Offers>

В настройке источников - селектлист и я могу выбрать только из двух пунктов "Blank source" и "XPath Expression (xpathparser:0)"
При импорте из CSV я в настройке источников просто вбивал руками название столбца-источника в CSV-файле . При импорте из XML не понимаю как и куда вбивать.

Допустим есть поля title field_code field_manufacture. Натолкните как правильно дать понять что Name=title Code=field_code Producer=field_manufacture

Или я иду вообще неправильным путем и надо импортировать XML по-другому?

Версия Drupal: 
7.x
Связанные проекты: 
FeedsFeeds XPath Parser
Вопрос задан 20.01.2016 - 13:00

Ответы

0

Отвечаю на свой же вопрос. Все оказалось достаточно просто
1) Прочитать правила составления Xpath-запросов.
https://msdn.microsoft.com/en-us/library/ms256086(v=vs.110).aspx
http://www.w3schools.com/xsl/xpath_syntax.asp

тут и была у меня ошибка. никогда раньше с Xpath не работал и потому не мог понять что куда.

2) Создать импортер
3) Сначала в маппинге добавить xpathparser:0, xpathparser:1 и т.д. - столько, сколько полей импортируем.
4) Потом в настройках XPath XML parser в импортере проставить правильные Xpath-запросы для контекста и каждого поля.

В моем примере это:
Контекст:
//Offer

Поле код:
@Code

Поле заголовок:
@Name

Поле производитель:
@Producer

Ответ дан 20.01.2016 - 17:10
0
Ответ дан 20.01.2016 - 13:36
Аватар пользователя xandeadx
xandeadx
1541

ссылку видел, там очень маленькое описание, я по этому описанию так и не смог понять.
Потом прочитал правила составления запросов (в своем ответе привел две ссылки, где много хороших примеров) - понял где ошибка, исправил и все проимпортировалось отлично.

Комментарий оставлен 20.01.2016 - 17:13