Menú Principal

XML + PHP

Iniciado por Draco Heroicus, 9 Enero 2007, 23:07 PM

0 Miembros y 1 Visitante están viendo este tema.

Draco Heroicus

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.

alone-in-the-chat

#1
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($fich512))
{
   $resultado xml_parse($this->parser$datafeof($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??
Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b