Parseringsfouten (LINQ naar XML) ondervangen

In dit artikel wordt beschreven hoe u ongeldig opgemaakte of ongeldige XML in C# of Visual Basic detecteert.

LINQ naar XML wordt geïmplementeerd met behulp van XmlReader. Als ongeldige of ongeldige XML wordt doorgegeven aan LINQ naar XML, genereert de onderliggende XmlReader klasse een uitzondering. De verschillende methoden voor het parseren van XML, zoals XElement.Parse, vangen de uitzondering niet op. De uitzondering kan vervolgens door uw toepassing worden afgevangen.

Voorbeeld: ongeldige XML parseren

De volgende code probeert ongeldige XML te parseren.

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

Vanwege de ongeldige eindcode </Contcts>genereert het voorbeeld de volgende uitzondering:

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

Zie de XmlReader documentatie voor informatie over de uitzonderingen die de XElement.Parse, XDocument.Parseen XElement.LoadXDocument.Load methoden genereren.

Zie ook