У меня есть внешний веб-сервис, доступ к которому можно получить с помощью вызова HTTP (с параметрами, переданными в виде строки запроса), и который возвращает результат в формате XML.
Я хотел бы использовать Drupal для доступа к этому веб-сервису (с нужными параметрами) и отображать результат с помощью Views.
Это пример запроса и результат, полученный от веб-службы, которую я использую.
Запрос: http: //localhost/query.php? Cy = in & q = abcd & cat = 22
Результат:
<?xml version="1.0"?>
<results>
<Jobs>
<Job ID="111">
<Title>Test one</Title>
<Summary>Test one summary</Summary>
<DateUpdated Date="2011-04-04 18:03:00">4/4/2011</DateUpdated>
<Location>
<Country>India</Country>
<City>Delhi</City>
</Location>
<CompanyName>Test Company</CompanyName>
</Job>
<Job ID="222">
<Title>Test two</Title>
<Summary>Test two summary</Summary>
<DateUpdated Date="2011-04-04 18:03:00">4/4/2011</DateUpdated>
<Location>
<Country>India</Country>
<City>Chennai</City>
</Location>
<CompanyName>Test company</CompanyName>
</Job>
</Jobs>
</results>
Модуль Feeds может извлекать контент и превращать его в узлы. Feeds XPath Parser позволит вам анализировать xml-файл и сопоставлять теги с полями. Затем вы можете использовать представления для отображения содержимого в обычном режиме.
источник
Я уверен, что есть более элегантное решение, но я делал это в прошлом с помощью твиттеров, и он прекрасно работает. Вот мой взгляд на это:
Второй шаг может быть достигнут путем программного создания экземпляров узла:
Приведенный выше пример может показаться странным, но это не совсем так: я создал тип контента «picture», в котором есть настраиваемое поле «picture_id». Это просто ручной способ получения идентификатора для последнего созданного узла этого типа.
Надеюсь это поможет!
источник