Heim > Backend-Entwicklung > C++ > Wie validiere ich XML anhand eines referenzierten XSD-Schemas in C#?

Wie validiere ich XML anhand eines referenzierten XSD-Schemas in C#?

Linda Hamilton
Freigeben: 2025-01-21 18:57:09
Original
591 Leute haben es durchsucht

How to Validate XML against a Referenced XSD Schema in C#?

C#-XML-Validierung anhand des referenzierten XSD-Schemas

Die Sicherstellung der Gültigkeit eines XML-Dokuments anhand eines definierten Schemas ist von entscheidender Bedeutung. Dieser Artikel demonstriert die C#-XML-Validierung mit der Klasse XmlDocument anhand eines XSD-Schemas.

Im Gegensatz zum Standardverhalten führt XmlDocument keine automatische Validierung anhand der im XML eingebetteten Schemata durch. Um dies zu ermöglichen, konfigurieren wir XmlReaderSettings. Konkret setzen wir ValidationType auf Schema und verwenden ValidationFlags, um Inline-Schemata, Schema-Speicherorte und Berichtswarnungen zu verarbeiten.

<code class="language-csharp">XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema;
settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessSchemaLocation;
settings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings;</code>
Nach dem Login kopieren

Als nächstes erstellen Sie ein XmlReader mit diesen Einstellungen und registrieren ein ValidationEventHandler, um Validierungsergebnisse zu erfassen.

<code class="language-csharp">XmlReader reader = XmlReader.Create("inlineSchema.xml", settings);
reader.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);</code>
Nach dem Login kopieren

Die ValidationCallBack-Methode verarbeitet Validierungsereignisse:

<code class="language-csharp">private static void ValidationCallBack(object sender, ValidationEventArgs args)
{
    if (args.Severity == XmlSeverityType.Warning)
        Console.WriteLine("\tWarning: " + args.Message);
    else
        Console.WriteLine("\tValidation error: " + args.Message);
}</code>
Nach dem Login kopieren

Diese optimierte Methode validiert das XML automatisch anhand des eingebetteten Schemas, sodass kein manuelles Laden des Schemas in das XmlDocument-Objekt erforderlich ist. Die ValidationCallBack-Funktion liefert klare Warnungen und Fehlermeldungen.

Das obige ist der detaillierte Inhalt vonWie validiere ich XML anhand eines referenzierten XSD-Schemas in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage