Пытаюсь проимпортировать данные из 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 по-другому?
Ответы
Отвечаю на свой же вопрос. Все оказалось достаточно просто
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
ссылку видел, там очень маленькое описание, я по этому описанию так и не смог понять.
Потом прочитал правила составления запросов (в своем ответе привел две ссылки, где много хороших примеров) - понял где ошибка, исправил и все проимпортировалось отлично.