Exportar dades de mySQL a XML
Escrit per Miquel Lluís Mestre   
diumenge, 25 de gener de 2009 12:43
AddThis Social Bookmark Button

Aquests dies he exportat tota la informació de l'arxiu documental de la RPD. En breu posarem en marxa el nou web basat en OJS i per això havia de migrar totes les dades d'una mySQL de Joomla a la mySQL de OJS. L'única forma pràctica de fer-ho era utilitzar el plugin de importació de l'OJS, que funciona només amb arxius XML. Per això vaig exportar totes les dades del repositori Joomla a XML, tot gràcies a aquest script convenientment modificat i que m'ha estalviat moltes hores de feina:

< ?php //Dades accés BBDD $host = "localhost"; $user = "user"; $pass = "pass"; $database = "test"; // Connexió BBDD $linkID = mysql_connect($host, $user, $pass) or die("Could not connect to host."); mysql_select_db($database, $linkID) or die("Could not find database."); // Consulta BBDD $query = 'SELECT * FROM `taula` WHERE volume="vol" AND number="num"'; $resultID = mysql_query($query, $linkID) or die("Data not found."); // Inici sortida XML amb el DTD de OJS $xml_output .= "n"; $xml_output .= "< !DOCTYPE articles PUBLIC '-//PKP//OJS Articles and Issues XML//EN' 'http://pkp.sfu.ca/ojs/dtds/native.dtd'>n"; // Etiqueta principal $xml_output .= "n"; // Bucle articles for($x = 0 ; $x < mysql_num_rows($resultID) ; $x++){ $row = mysql_fetch_assoc($resultID); $xml_output .= "tn"; $xml_output .= "tt" . $row['title'] . "n"; $xml_output .= "tt" . $row['abstract'] . "n"; $xml_output .= "ttn"; $xml_output .= "ttt" . $row['aut1first'] . "n"; $xml_output .= "ttt" . $row['aut1last'] . "n"; $xml_output .= "ttn"; $xml_output .= "tt2007-12-01n"; $xml_output .= "tn"; } $xml_output .= ""; // Sortida cap a text echo $xml_output; $text = $xml_output; ?>

codi | mysql | xml

Darrera actualització de dijous, 5 de novembre de 2009 18:24
 
«IniciaAnterior21222324252627282930SegüentFinal»

Pàgina 25 de 333

Tweets

An error occurred

Oops, an error seems to have occurred. We're sorry for any inconvenience this might have caused. If the error persists, feel free to tell us about it.

Follow us on Twitter