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 


Responder a