Foros del Web » Programación para mayores de 30 ;) » Programación General »

parser xml

Estas en el tema de parser xml en el foro de Programación General en Foros del Web. wenas! a ver si alguno tiene idea de lo q puede pasar. tngo el siguiente archivo .xml, por ejemplo: --------------------------------------------- <?xml version="1.0" encoding="iso8859-1"?> <ficha> <asignatura>casa</asignatura> ...
  #1 (permalink)  
Antiguo 13/04/2005, 12:31
 
Fecha de Ingreso: abril-2005
Mensajes: 5
Antigüedad: 19 años, 1 mes
Puntos: 0
parser xml

wenas! a ver si alguno tiene idea de lo q puede pasar. tngo el siguiente archivo .xml, por ejemplo:

---------------------------------------------
<?xml version="1.0" encoding="iso8859-1"?>

<ficha>
<asignatura>casa</asignatura>
<nombre>eeeeooo</nombre>
</ficha>
---------------------------------------------

el parser q estoy usando es:

--------------------------------------------
<?php

printf("<h3>ejemplo de parser</h1>");
$etiquetaActual="";
function ComienzoElemento($parser,$name,$attribs)
{
global $etiquetaActual, $currentAttribs;
$etiquetaActual=$name;
switch($name)
{
case "ficha":
echo '<center><table>';
break;
case "asignatura":
echo '<tr><td>Asignatura: ';
break;
case "nombre":
echo '<td>Nombre: ';
break;
default:
echo "no hay mas etiquetas";
}
}
function FinalElemento($parser,$name)
{
global $etiquetaActual;
switch ($name)
{
case "ficha":
echo "</table></center>";
break;
case "asignatura":
case "nombre":
echo "</td></tr>";
break;

default:
echo "error en formato ficha";
}
$etiquetaActual="";
}
function Datos($parser,$data)
{
global $etiquetaActual;
switch ($etiquetaActual)
{
case "asignatura":
echo $data;
break;
case "nombre":
echo $data;
break;
}
}
$file = "documento.xml";
$xmlParser = xml_parser_create();
$targetEncoding=xml_parser_get_option($xmlParser,X ML_OPTION_TARGET_ENCODING);

xml_set_element_handler($xmlParser,"ComienzoElemen to", "FinalElemento");
xml_set_character_data_handler($xmlParser, "Datos");
if (!($fp = fopen($file, "r"))) {
die("No se puede abrir el fichero: $file");
}
while ($data = fread($fp, 4096)) {
if (!xml_parse($xmlParser, $data, feof($fp))) {
die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xmlParser)),
xml_get_current_line_number($xmlParser)));
}
}
xml_parser_free($xmlParser);
?>
--------------------------------------------------------

y el resultado de ejecutarlo es:

--------------------------------------------------------
ejemplo de parser

no hay mas etiquetasno hay mas etiquetaserror en formato fichano hay mas etiquetaserror en formato fichaerror en formato ficha
--------------------------------------------------------

¿cual puede ser el problema??
gracias
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 03:48.