Foros del Web » Programando para Internet » PHP »

paso de datos xml a tabla mysql con php

Estas en el tema de paso de datos xml a tabla mysql con php en el foro de PHP en Foros del Web. HOLA!! A grandes rasgos lo que deseo hacer es extraer datos de xml con php y meterlos en una tabla de una base de datos ...
  #1 (permalink)  
Antiguo 12/05/2006, 04:28
Avatar de felipeax  
Fecha de Ingreso: abril-2006
Mensajes: 12
Antigüedad: 18 años
Puntos: 0
Información paso de datos xml a tabla mysql con php

HOLA!!
A grandes rasgos lo que deseo hacer es extraer datos de xml con php y meterlos en una tabla de una base de datos de mysql.
Para ello, estoy intentando sacar los datos de un documento xml uno a uno para luego meterlos en un array y de ahí más adelante meterlos en un insert de sql en la base de datos. Como salen todos los datos del tiron y separados por espacios poniendo echo $data he intentado poner $dat_peq= explode (" ", $data);
echo $dat_peq;

en la funcion characterData

quedando de la forma como pongo abajo. Mis preguntas son: ¿sabrían decirme porque sale Array 13 veces? ¿Estoy bien encaminado? GRACIAS.


<?

$file = "pets.xml";
$dat_peq = array();


function startElement($parser, $name, $attrs)
{

}

function endElement($parser, $name)
{

}

function characterData($parser, $data)
{
$dat_peq= explode (" ", $data);
echo $dat_peq;
//echo $data;
}

$xml_parser = xml_parser_create();

xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r")))
{
die("could not open XML input");
}

while ($data = fread($fp, 4096))
{
if (!xml_parse($xml_parser, $data, feof($fp)))
{
die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
}

xml_parser_free($xml_parser);

?>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:15.