bueno creo que seria importante que les remita el código fuente...
mi xml es asi.
Código PHP:
<?xml version="1.0" encoding="ISO-8859-1"?>
<RIOJA>
<TEMA cod="1" cant="3" par="1"><![CDATA[El desarrollo de tecnologías de la información exige prestar atención URGENTE a su aplicación en las diversas actividades económicas y sociales, dado que están generando la creación de nuevos medios de archivo de la información en soportes como: Diskettes, Discos Duros; Discos Opticos, Cintas Magnéticas, Discos Compactos, DVD.(Digital Video Disco) y Zip Drive (2,4), cuyos contenidos no pueden usarse como medio <b>PROBATORIO</b>, dado que no tienen validez para ningún trámite administrativo ni judicial por <b>no tener</b> <b><i>VALOR LEGAL</i></b>;...]]>
</TEMA>
</RIOJA>
mi PHP es asi:
Código PHP:
// Archivo XML a leer
$file_name = 'Rioja.xml';
// Variable auxiliar
$Conta = 1;
// funcion handler de inicio
function startElement($parser, $name, $attrs) {
// Que etiqueta estamos viendo
switch ($name) {
case 'RIOJA':
// Elemento principal
echo '<table width="100%" border="0" cellspacing="0" cellpadding="0">', "\n";
break;
case 'TEMA':
// Nodo
echo "<tr><td valign=\"top\">Edicion ";
echo "<b>".$Conta."</b>";
echo "</td><td width=\"80%\" align=\"center\">","\n";
echo "<textarea id=\"item1\" name=\"item1\" rows=\"10\" cols=\"100\">";
$Conta++;
break;
}
}
// funcion handler de cierre
function endElement($parser, $name) {
// Que etiqueta estamos viendo
switch ($name) {
case 'RIOJA':
// Elemento principal
echo '</table>', "\n";
break;
case 'TEMA':
// Nodo
echo "</textarea>";
echo "\n", '</td></tr>', "\n";
break;
}
}
// funcion de lectura
function characterData($parser, $value) {
// Aplicamos un Trim al texto
$text = trim($value, "\t");
$text = trim($text, "\n");
$text = trim($text, "\r");
// mostramos
echo $text;
}
// Creaos una nueva instancia del XML parser
$parser = xml_parser_create();
// Seteamos los handler
xml_set_element_handler($parser, 'startElement', 'endElement');
xml_set_character_data_handler($parser, 'characterData');
// Abrimos el archivo XML
if ($file = @fopen($file_name, 'r')) {
// Revisamos el archivo
while ($data = fgets($file, 4096)) {
// Si hubo un error al hacer el parseo
if (!xml_parse($parser, $data, feof($file))) {
// Mostramos un mensaje
die('<p><b>Error al parsear el XML.</b></p>');
}
}
// Cerramos el archivo
fclose($file);
// El archivo no se pudo abrir
} else {
// Mostramos un mensaje de error
die('<p>No se pudo abir el archivo <b>'.$file_name.'</b>.</p>');
}
// Liberamos el parser
xml_parser_free($parser);
al momento de ejecutarla no reconoce mi contador.
una vez mas gracias.