Ciao a tutti. ho un problema con xml.
In pratica ho del codice che controlla la presenza di un file xml sul server. se questo è presente, "appende" un figlio "transazione" se invece il file non è presente, ne crea uno nuovo con una sola "transazione".
Il mio problema è che nella prima ipotesi (cioè quando bisogna appendere un figlio al file già esistente) l'indent del file per il figlio appena inserito mi sballa...
codice:
<?xml version="1.0"?>
<transazioni>
<transazione>
<da>9(Id_User_Bank)</da>
<a>Cinema Antares</a>
<oggetto>Prenotazione posti</oggetto>
<valore>50</valore>
</transazione> <transazione><da>9(Id_User_Bank)</da><a>Cinema Antares</a><oggetto>Prenotazione posti</oggetto><valore>50</valore></transazione></transazioni>
il codice è il seguente
Codice PHP:
if(!file_exists('./xml/trans.xml')){
$dom = new DomDocument('1.0');
$transazioni = $dom->appendChild($dom->createElement('transazioni'));
$transazione = $transazioni->appendChild($dom->createElement('transazione'));
$da = $transazione->appendChild($dom->createElement('da'));
$da->appendChild($dom->createTextNode($_SESSION['iduser']."(Id_User_Bank)"));
$a = $transazione->appendChild($dom->createElement('a'));
$a->appendChild($dom->createTextNode($_SESSION['destinatario']));
$oggetto = $transazione->appendChild($dom->createElement('oggetto'));
$oggetto->appendChild($dom->createTextNode($_SESSION['oggetto']));
$valore = $transazione->appendChild($dom->createElement('valore'));
$valore->appendChild($dom->createTextNode($_SESSION['valore']));
$dom->formatOutput = true;
$trans = $dom->saveXML();
$dom->save('./xml/trans.xml');
}
else{
$dom = new DomDocument('1.0');
$dom = DOMDocument::load('./xml/trans.xml');
$transazioni = $dom->getElementsByTagName("transazioni");
$transazioni = $transazioni->item(0);
$transazione = $transazioni->appendChild($dom->createElement('transazione'));
$da = $transazione->appendChild($dom->createElement('da'));
$da->appendChild($dom->createTextNode($_SESSION['iduser']."(Id_User_Bank)"));
$a = $transazione->appendChild($dom->createElement('a'));
$a->appendChild($dom->createTextNode($_SESSION['destinatario']));
$oggetto = $transazione->appendChild($dom->createElement('oggetto'));
$oggetto->appendChild($dom->createTextNode($_SESSION['oggetto']));
$valore = $transazione->appendChild($dom->createElement('valore'));
$valore->appendChild($dom->createTextNode($_SESSION['valore']));
$dom->formatOutput = true;
$trans = $dom->saveXML();
$dom->save('./xml/trans.xml');
}
Grazie in anticipo!