XML Schema Definition , XSD , ist die am weitesten akzeptierten Standard für die Definition der Struktur von XML-Dokumenten . Schemas können Einschränkungen , optionalen und erforderlichen Attribute innerhalb eines XML-Dokuments zu definieren. . Net ermöglicht die Validierung von XML mit einem oder mehreren Schemata vor der Verarbeitung der Inhalte . Validieren von XML reduziert die Menge Ausnahmebehandlung , die im Code ausgeführt werden müssen und fängt Fehler in der Formatierung von Daten , die andernfalls vielleicht übersehen werden könnten . Was Sie brauchen 
 Visual Studio 2008 oder höher 
 Mittelstufe Wissen . Net Programmierung 
 anzeigen Weitere Anweisungen Suche XML Validierung mithilfe XmlReaderSettings 
 1 
 erstellen neue C #-Projekt des gewünschten Typs in Visual Studio. Wenn Sie XML-Validierung zu einem vorhandenen Projekt hinzufügen möchten, können Sie diesen Schritt überspringen . 
 2 
 Öffnen Sie die "Add New Item" Dialog über die Schaltfläche "Projekt" und dann auf "Add -Klasse. " 
 3 
 Geben Sie einen Namen für die neue Klasse , die auf Ihre Coding-Standards und Praktiken Namensgebung haftet . 
 4 
 der rechten Maustaste auf das Projekt im Projektmappen-Explorer zeigt das Projekt-Menü . 
 5 
 Wählen Sie " Verweis hinzufügen " aus dem Menü , um die "Add Reference" Dialogfeld anzuzeigen. 
 6 
 Wählen Sie aus der Liste System.XML von Komponenten und klicken Sie dann auf die Schaltfläche "Auswählen" . Klicken Sie dann auf "OK". 
 7 
 Fügen Sie eine Methode , um die neue Klasse mit dem folgenden Code : 
 
 private bool ValidateDocument (string xmlFile , string xsdFile ) 
 < p > { 
 
 XmlReaderSettings Einstellungen = new XmlReaderSettings { ValidationType 
 
 = reader = XmlReader.Create ( xmlFile , Einstellungen) ; 
 
 versuchen 
 
 { 
 
 while ( reader.Read ()); 
 
 return true ; 
 
 } 
 
 catch ( XmlSchemaValidationException ex) { 
 
 
 
 //zeigt eine Validierung Fehler aufgetreten 
 
 return false; . 
 
 } } 
 
 
 
 Dieser Code lädt XML in einen XmlReader und ein XML-Schema in einem XmlSchemaSet . Alle Attribute und Elemente im XML-Dokument validiert werden , wenn das Dokument zu lesen, gibt es keine Notwendigkeit , Elemente einzeln zu besuchen. Wenn das XML-Dokument ist nicht gültig ein XmlSchemaValidationException ausgelöst. Die Ausnahme enthält eine Fehlermeldung , Zeilennummer und Position, wo der Fehler aufgetreten ist . . Verarbeitung stoppt beim ersten Fehler gestoßen 
 
 Wenn Sie das gesamte Dokument zu verarbeiten und sehen Sie alle Fehler , nicht nur der erste Fehler , können Sie einen Error-Handler für ValidationEventHandler Ereignis mit dem folgenden Code : 
 
 settings.ValidationEventHandler + = ValidationHandler ; 
 
 static void ValidationHandler (object sender, ValidationEventArgs e) 
 
 { 
 
 //Prozess Veranstaltung hier 
 
 } 
 XML Validierung mithilfe von LINQ 
 8 
 erstellen Sie ein neues C #-Projekt des gewünschten Typs in Visual Studio. Wenn Sie XML-Validierung zu einem vorhandenen Projekt hinzufügen möchten, können Sie diesen Schritt überspringen . 
 9 
 Öffnen Sie die "Add New Item" Dialog über die Schaltfläche "Projekt" und dann auf "Add -Klasse. " 
 10 
 Geben Sie einen Namen für die neue Klasse , die auf Ihre Coding-Standards und Praktiken Namensgebung haftet . 
 11 
 der rechten Maustaste auf das Projekt im Solution Explorer das Projekt angezeigt Menü . 
 12 
 Wählen Sie " Verweis hinzufügen " aus dem Menü , um die "Add Reference" Dialogfeld anzuzeigen. 
 13 
 Select System.XML und System.Linq aus dem Liste der Komponenten und klicken Sie dann auf die Schaltfläche "Auswählen" . Klicken Sie dann auf "OK". 
 14 
 Fügen Sie eine Methode , um die neue Klasse mit dem folgenden Code : 
 
 private bool ValidateDocument (string xmlFile , string xsdFile ) 
 < p > { 
 
 //erstellen Sie das XML-Dokument gegen validieren 
 
 XDocument xDoc = XDocument.Load ( xmlFile , LoadOptions.PreserveWhitespace ); . 
 
 XmlSchemaSet Schema = new XmlSchemaSet ( ); 
 
 bool isError = new bool (); //Standardwerte auf false 
 
 int countError = 1; .. //Zählt die Anzahl der Fehler generiert 
 
 //in das Schema Datei, die Sie gegen validieren 
 
 schema.Add (null, xsdFile ); . ! 
 
 //Aufruf zu validieren und mit einem Lambda-Ausdruck als erweitertes Verfahren 
 < p > //Weißt du nicht lieben. NET 3.5 und LINQ ... 
 
 xDoc.Validate ( Schema (sender , e) = > 
 
 {switch ( e.Severity ) 
 
 {case XmlSeverityType.Error : 
 
 break; 
 
 Fall XmlSeverityType.Warning : 
 
 break; } 
 
 
 < p > countError + +; 
 
 isError = true; //Wenn Fehler Brände , kennzeichnen sie zu handhaben einmal Anruf abgeschlossen ist 
 
 } 
 
 , true); . //Wahre erzählt die validieren aufrufen, um den Post-Schema - Validierung 
 
 bevölkern //die Sie später brauchen , wenn Sie einen littel tiefer tauchen wollen ... 
 
 Rückkehr isError ; 
 
 } 
 
 Dieser Code lädt XML in eine XDocument und ein XML-Schema in einem XmlSchemaSet . Es ruft dann die Methode auf dem XDocument Validate mit einem Lambda-Ausdruck als ValidationEventHandler .