Hola,
estoy generando un validador de estructura XML en C# (por consola) y el problema que tengo es que el mensaje se cierra muy rápido.
La primera vez que ejecute la consola el mensaje lo pude leer ,pero después se empezó a cerrar demasiado rápido la pantalla y no se alcanza a leer nada.
Existe algún comando que controle ese cerrado?
Mi codigo es el siguiente
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml; // para XmlTextReader y XmlValidatingReader
using System.Xml.Schema; // para XmlSchemaCollection (que se utiliza más adelante)
namespace ValidateXml
{
class Program
{
private static bool isValid = true; // Si se produce un error de validación,
// configure este indicador como false
// en el controlador de eventos de validación.
static void Main(string[] args)
{
//XmlTextReader lee un documento XML de un archivo de texto.
//XmlValidatingReader valida los datos XML.
XmlTextReader r = new XmlTextReader("C:\\MiCarpeta\\ProductWithDTD.xml");
XmlValidatingReader v = new XmlValidatingReader(r);
v.ValidationType = ValidationType.DTD;
v.ValidationEventHandler += new ValidationEventHandler(MyValidationEventHandler);
// Comprobar si el documento es válido o no.
if (isValid)
Console.WriteLine("El documento es válido");
else
Console.WriteLine("El documento no es válido");
}
public static void MyValidationEventHandler(object sender, ValidationEventArgs args)
{
isValid = false;
Console.WriteLine("Evento de validación\n" + args.Message);
}
}
}
Antes de responderte, te ruego uses los indicadores de code GeSHI. Gracias.
Tu problema tiene facil solucion: Se te ha "olvidao" poner algun tipo de pausa, (getchar en C) para que el programa no se cierre. Prueba a ponerle algo asi (veras no domino bien C#), o mejor, a abrirlo desde cmd. Seguro que corre bien.
veras, han habido muchos casos como el tuyo. En C el code seria:
#include <stdio.h>
int main ()
{
printf ("Escribe un numero: ");
int a;
scanf ("%d", &a);
printf ("\n\nHas escrito %d.", a);
getchar (); //IMPORTANTE PARA WINDOWS
return 0;
}
Simplemente te comento que es un code facil que toda persona pueda entender. No me infravalores por este sencillo code jaja xD!!!
Saludos y suerte
Tranquilo men, entiendo perfectamente el codigo... el tema que en C#.NET no me reconoce ese comando....
PERO estuve BUSCANDO Y AL FINAL ENCONTRE LA SOLUCION.
DESPUES DEL Console.WriteLine() HAY QUE AGREGAR UN Console.Read() y listo!
Jaja eso era lo que te decia es k como no tengo ni idea de C#, pues te puse el ejemplo en C. Pues si, es lo correcto, fallo mio por indicarte mal. Te confundi en la solucion, no en el problema...
Sorry, y suerte xD. La proxima vez lo indicare mejor jeje
ejecuta el programa desde el cmd ^^, te ahorras esa "pausa"
Ejecutar--> cmd (usa cd para cambiar de directorio,es mas facil)
bye