Buenas noches a tod@s!
El motivo de la publicación de hoy es la necesidad que hemos tenido de generar un XML con la lista de contactos de la que hablábamos el otro día (aquí y aquí), y el lenguaje escogido es el que utilizamos normalmente: PHP5. El método que os presentaré es muy sencillo y ha sido compuesto con funcionalidades relacionadas con XMLWriter (propia de PHP5).
El listado de contactos importados de una cuenta de Gmail por ejemplo, es guardado en un array. Dicho array es pasado como parámetro del método que presento a continuación y dentro de él, se genera el XML. Tal que así:
$xml = new XMLWriter;
$xml->openMemory();
$xml->startDocument(’1.0′, ‘UTF-8′);
$xml->startElement(‘contacts’);
foreach ($contacts as $email => $name) {
$xml->startElement(‘contact’);
$xml->startElement(‘user’);
$xml->text($name);
$xml->endElement();
$xml->startElement(‘mailbox’);
$xml->text($email);
$xml->endElement();
$xml->endElement();
$xml->writeElement(‘br’, ”);
}
$xml->endElement();
$xml->endDocument();
echo $xml->outputMemory();
}
NOTA: $xml->writeElement(‘br’, ”); puede eliminarse ya que no debería formar parte del xml. Pero de esta manera podréis ver si os muestra por pantalla todo el listado correctamente. Lo he utilizado para listar contact(user+mailbox) uno debajo de otro.
Esta solución ha sido ideada después de ver varias documentaciones y páginas web, y os comparto la que ha sido más importante aquí. Cómo en todo lo relacionado con este mundillo, no hay una sola manera (más eficiente o menos) para hacer las cosas y seguro que podéis encontrar muchísimos scripts por ahí, pero espero que os sea de ayuda igualmente. Almenos para que véais por donde podéis empezar a probar.
Para más información sobre las diferentes funcionalidades de XMLWritter, os comparto el enlace de la documentación de PHP que habla sobre ello. Y en el caso que tengáis soluciones mejores, no dudéis en compartirlas aquí también.
Un saludo desde pingüinos y manzanitas world!
Sin comentarios