Vorgehensweise: Abfangen von Analysefehlern

In diesem Thema wird gezeigt, wie nicht wohlgeformter oder ungültiger XML-Code erkannt werden kann.

LINQ to XML wird mithilfe von XmlReader implementiert.Wenn nicht wohlgeformter oder ungültiger XML-Code an LINQ to XML übergeben wird, löst die zugrunde liegende XmlReader-Klasse eine Ausnahme aus.Die verschiedenen Methoden, die XML analysieren, z. B. XElement.Parse, fangen die Ausnahme nicht ab. Die Ausnahme kann dann von Ihrer Anwendung abgefangen werden.

Beachten Sie, dass Sie bei Verwendung von XML-Literalen keine Analysefehler abrufen können.Der Visual Basic-Compiler fängt Fehler von nicht wohlgeformtem oder ungültigem XML ab.

Beispiel

Der folgende Code versucht, ungültiges XML zu analysieren:

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

Wenn Sie diesen Code ausführen, wird die folgende Ausnahme ausgelöst:

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

Weitere Informationen zu den Ausnahmen, von denen Sie ausgehen können, dass sie von den Methoden XElement.Parse, XDocument.Parse, XElement.Load und XDocument.Load ausgelöst werden, finden Sie in der XmlReader-Dokumentation.

Siehe auch

Konzepte

Analysieren von XML-Dokumenten