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


0