Compartir a través de


Cómo detectar errores de análisis

Actualización: November 2007

En este tema se describe cómo detectar XML no válido o mal formado.

LINQ to XML se implementa con XmlReader. Si se pasa XML no válido o mal formado a LINQ to XML, la clase XmlReader subyacente iniciará una excepción. Los diferentes métodos que analizan XML, como XElement.Parse no detectan la excepción; la excepción se propaga de forma que la aplicación pueda detectarla.

Tenga en cuenta que no puede obtener errores de análisis si utiliza literales XML. El compilador de Visual Basic detectará errores de XML no válido o mal formado.

Ejemplo

El siguiente código intenta analizar XML no válido:

try {
    XElement contacts = XElement.Parse(
        @"<Contacts>
            <Contact>
                <Name>Jim Wilson</Name>
            </Contact>
          </Contcts>");

    Console.WriteLine(contacts);
}
catch (System.Xml.XmlException e)
{
    Console.WriteLine(e.Message);
}
Try
    Dim contacts As XElement = XElement.Parse("<Contacts>" & vbCrLf & _
        "    <Contact>" & vbCrLf & _
        "        <Name>Jim Wilson</Name>" & vbCrLf & _
        "    </Contact>" & vbCrLf & _
        "</Contcts>")

    Console.WriteLine(contacts)
Catch e As System.Xml.XmlException
    Console.WriteLine(e.Message)
End Try

Cuando ejecuta este código, devuelve la siguiente excepción:

The 'Contacts' start tag on line 1 does not match the end tag of 'Contcts'. Line 5, position 13.

Para obtener información acerca de las excepciones que puede esperar que devuelva los métodos XElement.Parse, XDocument.Parse, XElement.Load y XDocument.Load, vea la documentación de XmlReader.

Vea también

Conceptos

Analizar XML