PHP:¿Cómo puedo pasar valores de un archivo XML a una base MySQL utilizando PHP?
De Foros del Web
Un proceso generalizado, para su entendimiento :)
archivo.xml:
Código PHP:
<?xml version = "1.0" encoding="Windows-1252" standalone="yes"?> <VFPData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="items.xsd"> <campos> <valor1>12351</valor1> <valor2>Viento</valor2> <valor3>sgsfgds4</valor3> <valor4>Idggdssg</valor4> </campos> <campos> <valor1>12352</valor1> <valor2>Agua</valor2> <valor3>fdgdg 204</valor3> <valor4>Isdg rthyh56 h</valor4> </campos> </VFPData>
Código PHP:
<?php $g_itemss = array(); $g_elem_item = null; function startElement( $parser, $name, $attrs ) { global $g_itemss, $g_elem_item; if ( $name == 'CAMPOS' ) $g_itemss []= array(); $g_elem_item = $name; } function endElement( $parser, $name ) { global $g_elem_item; $g_elem_item = null; } function textData( $parser, $text ) { global $g_itemss, $g_elem_item; if ( $g_elem_item == 'VALOR1' || $g_elem_item == 'VALOR2' || $g_elem_item == 'VALOR3' || $g_elem_item == 'VALOR4' ) { $g_itemss[ count( $g_itemss ) - 1 ][ $g_elem_item ] = $text; } } $parser = xml_parser_create(); xml_set_element_handler( $parser, "startElement", "endElement" ); xml_set_character_data_handler( $parser, "textData" ); $f = fopen( 'archivo.xml', 'r' ); while( $data = fread( $f, 4096 ) ) { xml_parse( $parser, $data ); } xml_parser_free( $parser ); foreach( $g_itemss as $item_booked ) { $numorden = $item_booked['valor1']; $tipoint = $item_booked['valor2']; $numoper = $item_booked['valor3']; $sector = $item_booked['valor4']; include("config.php"); //archivo de conexión a la base de datos ////////////////////////////////////// ////////////////////////////////////// mysql_query("INSERT INTO tabla (mis_campos)values($mis_variables)")or die(mysql_error()); mysql_free_result($grabaITEMS); mysql_close (); } ?>
--daenor 10 Jul 2007
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
