Java - Duda

 
Vista:

Duda

Publicado por javier (4 intervenciones) el 03/07/2009 12:34:12
Estoy haciendo un Editor de texto que verifique si un XML es correcto, ahora mismo con la siguiente función consigo verificar si es correcto o no, pero me gustaría saber como puedo obtener la linea donde se ha producido el error.

La función para verificar el XML es la siguiente:

void jbtVerificarXML_actionPerformer(ActionEvent e)
{

boolean bienformado = true;
String mensajeError="";
//objeto del tipo DocumentBuilderFactory que nos va a permitir la verificacion
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();


try {
//obtenemos una instancia del documento
DocumentBuilder db = dbf.newDocumentBuilder();

//parseamos el documento que hay escrito ahora mismo en el editor
//primero obtenemos el texto
String textoEditor = jEditorPane1.getText();
//creamos un flujo de entrada, el cual parsearemos
ByteArrayInputStream by = new ByteArrayInputStream(textoEditor.getBytes());
//ordenamos parsear el flujo de entrada

db.parse(by);
}
//si alguna excepción es atrapada, significa que está mal formado
catch(ParserConfigurationException pce)
{

//recogemos el error
mensajeError+=pce.toString()+" ";
//y ponemos la variable bienformado a falso
bienformado = false;
}
catch(SAXException se)
{
bienformado = false;
mensajeError += se.toString()+" ";
}
catch(IOException ioe)
{
bienformado = false;
mensajeError += ioe.toString()+" ";
}
//mostramos por pantalla el resultado
JOptionPane.showMessageDialog(contentPane,"El fichero XML está "+(bienformado==true?"BIEN":"MAL")+" formado. "+
("".equals(mensajeError)?"":"Error devuelto="+mensajeError),
"Atencion",JOptionPane.INFORMATION_MESSAGE);
}

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder