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.