Tengo la siguiente funcion para insertar datos a un XML con PHP:
Código PHP:
function insertar_nodo ( $nodo , $datos , $fichero , $duplicar , $duplicados ){
//Leemos fichero
if(( $xml = leer_xml ( $fichero )) == - 1 ) return - 1 ;
//Comprobamos si puede haber nodos duplicados o no y si los hay
if( $duplicar == 0 ) $stop = buscar_nodo ( $nodo , $duplicados , $fichero );
else $stop = 0 ;
//Si no hay nodos duplicados o si puede haberlos, seguimos
if( $stop == 0 ){
//Guardamos todos los datos en un nuevo nodo
$tag = $xml -> addChild ( $nodo );
foreach( $datos as $valor ) $tag -> addChild ( $valor [ 'tag' ], $valor [ 'dato' ]);
//Guardamos el fichero
$xml -> asXML ( $fichero );
}
return 0 ;
}
Código:
<?xml version='1.0' encoding='UTF-8'?> <playlist version='1' xmlns='http://xspf.org/ns/0/'> <trackList> <track> <location>mp3/you lie.mp3</location> <album></album> <title>1 - you lie</title> <downloads>0</downloads> </track> <track> <location>ve2</location> <album>bee</album> <title>2 - you lie 2</title> <downloads>0</downloads> </track> </trackList> </playlist>
Para insertar una entrada escribo esto:
Código PHP:
$datos[0]['tag'] = 'location';
$datos[0]['dato'] = $location;
$datos[1]['tag'] = 'album';
$datos[1]['dato'] = $album;
$datos[2]['tag'] = 'title';
$datos[2]['dato'] = $title;
$datos[3]['tag'] = 'downloads';
$datos[3]['dato'] = $downloads;
$duplicados[0]['tag'] = 'location';
$duplicados[0]['dato'] = $location;
insertar_nodo("track",$datos,"archivo.xml",1,$location);
pero no me lo mete dentro de <trackList> </trackList>.
Es decir, es como si al hacerlo funcionar, me diera como resultado lo siguiente:
Código:
<?xml version='1.0' encoding='UTF-8'?> <playlist version='1' xmlns='http://xspf.org/ns/0/'> <trackList></trackList> <track> <location>mp3/I love the way you lie.mp3</location> <album>filipines</album> <title>1 - I love the way you lie</title> <downloads>0</downloads> </track> <track> <location>rihannalove2</location> <album>bee</album> <title>2 - I love the way you lie 2</title> <downloads>0</downloads> </track> </playlist>
Es un poco largo de leer, y creo que tiene facil solución.. pero no la veo.
¿A alguien se le ocurre algo?
de antemano, muchas gracias.