Hola Fernando, el error fue mio al cargar previamente el xml en un objeto DOM(en asp), luego uso una clase comclass en .net que realiza la validacion, cambie el objeto y listo,
muchas gracias fernando y Gabriel! Saludos Clarisa ----- Original Message ----- From: Fernando Tubio To: puntonet@mug.org.ar Sent: Monday, May 07, 2007 2:45 PM Subject: [puntonet] Consulta XML - args.Exception.LineNumber Pablo / Clarisa, Hice una prueba (muy) rápida y me pareció que el número de línea que informa es correcto. O por lo menos cuando se agregan líneas en blanco el número de línea donde detecta el error cambia. ¿Tenés algún fragmento de XML donde se puede ver el problema? Saludos, Fernando Tubio ----- Original Message ----- From: Pablo A. Allois To: puntonet@mug.org.ar Cc: [EMAIL PROTECTED] Sent: Monday, May 07, 2007 12:57 PM Subject: [puntonet] Consulta XML - args.Exception.LineNumber Buenas!! Estoy usando el sgte codigo para validar un documento xml en vb.net Pero no estoy obteniendo el nro de linea correcto("args.Exception.LineNumber"), sino que tengo el nro de linea sin espacios en el xml, no se como hacer para obtener el código de línea correcto, respetando los espacios del xml, (Por ejemplo el validate me informa error en la línea 88,(esto es correcto considerando el xml sin espacios) pero esa línea coincide si el xml no contiene espacios, tendría que obtener ese mismo nro respetando los espacios del xml) por favor, alguien puede darme una pista de que como validar el xml obteniendo los datos de nro de línea correctos? (una opcion podría ser poder obtener el nro de líneas del xml con espacios , el nro de líneas del xml sin espacios y la diferencia asignarla a la propiedad settings.LineNumberOffset, pero estoy buscando una forma mas rapida de resilverlo) Public Function Validate(ByVal DocXml As String, ByVal DocXsd As String) As Boolean Implements IValidaContrato.Validate Dim res As Boolean = False Dim oXmlSchema As XmlSchema = New XmlSchema() Dim settings As XmlReaderSettings = New XmlReaderSettings() Try settings.CloseInput = True settings.ValidationType = ValidationType.Schema settings.IgnoreComments = False settings.IgnoreProcessingInstructions = False settings.IgnoreWhitespace = False Dim sr As StringReader = New StringReader(DocXsd) Dim tr As TextReader = sr oXmlSchema = XmlSchema.Read(tr, AddressOf ValidationCallbackOne) settings.Schemas.Add(oXmlSchema) AddHandler settings.ValidationEventHandler, AddressOf ValidationCallbackOne Dim r As StringReader = New StringReader(DocXml) Dim valReader As XmlReader = XmlReader.Create(r, settings) Do While valReader.Read() Loop Catch ex As Exception m_ErrorMessage = m_ErrorMessage & ex.Message res = False End Try Return res End Function Public Sub ValidationCallbackOne(ByVal sender As Object, ByVal args As ValidationEventArgs) m_ErrorMessage = m_ErrorMessage & args.Message.ToString() & " Error Nro linea: " & args.Exception.LineNumber.ToString & " Posicion: " & args.Exception.LinePosition.ToString() End Sub Muchas gracias! Saludos, Clarisa PD.: Vale la aclaracion, no cambie de sexo, Clari, una amiga, me pidio que lo envie la lista... Saludos! Clarisa Savio Obeid Software Engineer NEORIS ARGENTINA Dorrego 1042 - Rosario, S2000DHV Teléfono Rosario: (54-341) 5127400 ...................................................................................... L.N.Alem 518, Piso 4 - Bs As, C1001AAN Teléfono Bs As: (54-11) 51677519/7500 ...................................................................................... [EMAIL PROTECTED] www.neoris.com