Tengo un servicio web externo, al que se puede acceder mediante una llamada HTTP (con parámetros pasados como cadena de consulta), y que devuelve el resultado en formato XML.
Me gustaría usar Drupal para acceder a ese servicio web (con los parámetros deseados) y mostrar el resultado usando Vistas.
Estos son una consulta de muestra y el resultado obtenido del servicio web que estoy usando.
Consulta: http: //localhost/query.php? Cy = in & q = abcd & cat = 22
Resultado:
<?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>
El módulo Feeds puede extraer contenido y convertirlo en nodos. Feeds XPath Parser le permitirá analizar el archivo xml y asignar etiquetas a los campos. Luego puede usar las Vistas para mostrar el contenido de manera normal.
fuente
Estoy seguro de que hay una solución más elegante, pero lo he hecho en el pasado con los feeds de Twitter y funciona bien. Aquí está mi opinión al respecto:
El segundo paso se puede lograr mediante la creación programática de las instancias de nodo:
El ejemplo anterior puede parecer un poco confuso, pero en realidad no lo es: creé un tipo de contenido "picture" que tiene un campo personalizado "picture_id". Es solo una forma manual de recuperar la ID para el nodo de ese tipo creado más recientemente.
¡Espero que esto ayude!
fuente