-
dom e php
ciao a tutti,sto iniziando ad usare da poco il DOM per la gestione dei file xml,
dovrei fare degli script in php che mi consentano di:
-creare un file xml da zero
-leggere i dati dal file xml
-scrivere(o cancellare) dati dal file xml
L'unica cosa che sono riuscito a fare per adesso è la lettura di dati da file xml
scritti a mano(cioè scritto elemento per elemento da me tramite un editor di testo).
Utilizzo il programma XAMPP con [PHP: 5.2.5].
Il mio problema è nell'uso delle funzioni DOM.
Ad esempio ho trovato in rete uno script che "dovrebbe" creare un file xml da zero,
ed inoltre lo stampa anche a video(echo finale).
Lo script è:
<?php
$file= fopen("prova.xml", "w");
$doc = domxml_new_doc('1.0');
$node = $doc->create_element("radice");
$root = @$doc->append_child($node);
$xml_string = $doc->dump_mem(true);
echo $xml_string;
fwrite($file, $xml_string);
fclose($file);
?>
Il problema è che nel file prova.xml che viene creato,c'è scritta una sola riga,la seguente:
<?xml version="1.0" standalone="no"?>
ed inoltre mi viene stampato questo messaggio:
Warning: domnode::append_child() expects parameter 1 to be object,
null given in C:\xampp\htdocs\Esercizi\XML\prova.php on line 29
Qualcuno saprebbe dirmi in cosa sbaglio?
Grazie:?::?:
-
Io ho provato il codice che hai postato e mi genera, come previsto, questo:
Codice:
<?xml version="1.0"?>
<radice/>
-
Allora forse il mio problema è dovuto alla configurazione di xampp.
Le cose che ho fatto sono:
1)ho scaricato la libreria iconv.dll e l’ho messa nella cartella di sistema di windows(e non so se sia giusto)
2)Ho aperto il file php.ini ed ho decommentato la stringa:
extension=php_domxml.dll
3)Inoltre ho aggiunto sempre nel php.ini la riga:
extension=php_iconv.dll
Cosa ho sbagliato,oppure cosa altro devo fare per configurare xampp correttamente?
Grazie
-
Aspetta, aspetta, ma perché usi DOM XML con PHP5? Non si fa -> http://it2.php.net/manual/en/intro.domxml.php (leggi la seconda nota).
-
quindi se switcho xampp a php 4 dovrebbe funzionare senza problemi??
o devo fare qualche altra operazione??
grazie mille
-
Dovrebbe funzionare perché la libreria dovrebbe essere già inclusa, senza bisogno di altri taroccamenti.