Mam zewnętrzną usługę internetową, do której można uzyskać dostęp za pomocą wywołania HTTP (z parametrami przekazanymi jako ciąg zapytania) i który zwraca wynik w formacie XML.
Chciałbym użyć Drupala, aby uzyskać dostęp do tej usługi internetowej (z żądanymi parametrami) i wyświetlić wynik za pomocą Widoku.
Są to przykładowe zapytanie i wynik uzyskany z usługi sieciowej, z której korzystam.
Zapytanie: http: //localhost/query.php? Cy = in & q = abcd & cat = 22
Wynik:
<?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 moduł może ciągnąć w treści i przekształcić go w węzłach. Kanały Parser XPath pozwoli ci na parsowanie pliku xml i mapowanie znaczników na pola. Następnie można użyć widoków, aby wyświetlić zawartość w normalny sposób.
źródło
Jestem pewien, że istnieje bardziej eleganckie rozwiązanie, ale robiłem to w przeszłości z kanałami Twitter i działa dobrze. Oto moje zdanie na ten temat:
Drugi krok można osiągnąć programowo tworząc instancje węzła:
Powyższy przykład może wydawać się nieco mylący, ale tak naprawdę nie jest: Utworzyłem typ zawartości „picture”, który ma niestandardowe pole „picture_id”. To tylko ręczny sposób na pobranie identyfikatora dla ostatnio utworzonego węzła tego typu.
Mam nadzieję że to pomoże!
źródło