- Home
- Categorie
- Coding e Sistemistica
- Coding
- inserire parser xml in un database
-
inserire parser xml in un database
Ciao a tutti,
ho un file xml da parsare. Fin qui tutto ok, vorrei pero' capire se i dati invece di leggerli direttamente online posso inserirli in un database, oppure riscriverli direttamente su un xml in locale. Con la seconda soluzione non riesco a prendere i dati letti, la prima soluzione , non sparei come poter inserire i dati direttamente nel database. Sapete darmi una mano ?
Questo è il codice per parsare xml :
[PHP]
$leggere="http://xxx.xml";$xml = simplexml_load_file($leggere); $total_news = count($xml->channel->item);
//ciclo per estrarre solo i primi 5 dati...
for ($i=0;$i<5;$i++) {
$item = $xml->channel->item*;$titolo_newsic = $item->title; $immagine_newsic = $item->image; $pre_newsic = $item->description; $pre_newsic = str_replace('\n\n', '', $pre_newsic); $pre_newsic = str_replace('\n', '', $pre_newsic); $pre_newsic = trim($pre_newsic);
echo '';
}
[/PHP]Non riesco a scriverli in un documento di testo, perchè non riesco a interpretare la variabile $xml e scriverla... con un fwrite...
-
Per inserirlo in database basta eseguire una query ad ogni ciclo e quindi basta inserire
[PHP]$inserisci_news= "insert into news_database (titolo, immagine, descrizione) values ('$titolo_news', '$immagine_news','$pre_news')";
$inserisci = mysql_query ($inserisci_news, $con) or die ("inserimento non riuscito");[/PHP]Il problema è che questo lettore è nella homepage del mio sito e ogni utente farebbe la query, è possibile in qualche modo impedire che la query venga effettuata ogni volta ?
Se riuscivo a riscriverlo in un file xml potevo far controllare l'ultima ora di modifica con la funzione filemtime ma nel database ?A me l'unica soluzione possibile che viene in mente è inserire la data e ora nella query in modo che potrei verificarla nel momento in cui uno richiama la pagina, ma essendo un flusso xml che si aggiorna come faccio anche a controllare se non ci sono nuovi dati ?
Grazie!