Vorgehensweise: Auffangen von Parsingfehlern (C#)

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

LINQ to XML wird mithilfe von <xref:System.Xml.XmlReader> implementiert. Wenn nicht wohlgeformter oder ungültiger XML-Code an LINQ to XML übergeben wird, löst die zugrunde liegende <xref:System.Xml.XmlReader>-Klasse eine Ausnahme aus. Die verschiedenen Methoden, die XML analysieren, z.B. <xref:System.Xml.Linq.XElement.Parse%2A?displayProperty=fullName>, fangen die Ausnahme nicht ab. Die Ausnahme kann dann von Ihrer Anwendung abgefangen werden.

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);  
}  

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 <xref:System.Xml.Linq.XElement.Parse%2A?displayProperty=fullName>, <xref:System.Xml.Linq.XDocument.Parse%2A?displayProperty=fullName>, <xref:System.Xml.Linq.XElement.Load%2A?displayProperty=fullName> und <xref:System.Xml.Linq.XDocument.Load%2A?displayProperty=fullName> ausgelöst werden, finden Sie in der <xref:System.Xml.XmlReader>-Dokumentation.

Siehe auch

Analysieren von XML (C#)