---------------------------------------------
<?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
