Título: XML + PHP
Publicado por: Draco Heroicus en 9 Enero 2007, 23:07 pm
Hola, si, ya lo investigue, hasta tengo un libro pero ya saben, uno es N00b y el libro tiene ejemplos odiosos >:(
Me podrian ayudar?
Estoy haciendo un Menu CSS en una Web PHP usando XML, olviden lo del menu, como le hago para acceder a un XML, Cargar datos de el y Grabar en el.
Título: Re: XML + PHP
Publicado por: alone-in-the-chat en 9 Enero 2007, 23:41 pm
Bueno ahorita toy en otra pero este te puede servir para parsear un xml <?php
Class XmlParse { var $parser; var $fileXml; var $Element; var $miArray; var $arrayCont; var $flag; var $i; function XmlParse($file) { $this->fileXml = $file; $this->parser = xml_parser_create(); $this->Init(); } function Init() { xml_set_object($this->parser, $this); xml_set_element_handler($this->parser, 'handlerInicial', 'handlerFinal'); xml_set_character_data_handler($this->parser, 'handlerDatos'); $this->miArray = array(); $this->arrayCont = array(); $this->flag = true; } function handlerInicial($parser, $nombre, $atributos) { if ($this->flag == true ) { if (!array_key_exists($nombre,$this->miArray)) { $this->miArray[$nombre] = array(); $this->arrayCont[$nombre] = 0; } }else{ $this->flag = true; } $this->Element = $nombre; } function handlerFinal($parser, $nombre) { $this->flag = false; $this->arrayCont[$nombre]++; } function handlerDatos($parser, $dato) { if ($this->arrayCont[$this->Element] == "") { $this->arrayCont[$this->Element] = 0; } $this->miArray[$this->Element][$this->arrayCont[$this->Element]] = $dato; } function miParser() { if (!($fich = fopen($this->fileXml, 'r'))) { die('No pude abrir el fichero XML: '.$this->fileXml); return false; } while ($data = fread($fich, 512)) { $resultado = xml_parse($this->parser, $data, feof($fich)); if (!$resultado) { die(sprintf("Error de XML: %s en la linea %d",xml_error_string(xml_get_error_code($this->parser)),xml_get_current_line_number($this->parser) ) ); xml_parser_free($this->parser); } } return $this->miArray; } } ?>
PD. ta un poco cutre la clase pero toy en otra sorry :D solo sirve para parsear el xml te devolvera el contenido en un array ya tu ve si la puedes mejorar Saludos. <?php include("ClsXmlParse.php");
$var = new XmlParse("sitemap.xml"); print_r($var->miParser()); ?>
por si te gusta las cosas completas xDºº se usa asi Saludos . RePD. Esto No deberia ir en el foro de PHP??? para eso se creo no??
|