xmlserializer validation
Ich bin mit XmlSerializer zu Deserialisieren von Xml erreicht. Aber ich fand die Klasse xsd.exe nur generiert, bietet Möglichkeit zum Lesen von xml, aber keine Validierung. Zum Beispiel, wenn ein Knoten fehlt in einem Dokument, das attribute-Feld der erzeugten Klasse wird null sein, anstatt wirft eine Validierung Ausnahme, wie ich erwartet hatte. Wie kann ich das erreichen? Danke!
InformationsquelleAutor Roy | 2009-11-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollte der folgende code Validierung gegen ein schema, während Deserialisieren. Der gleiche code kann verwendet werden, um die Validierung gegen ein schema beim serialisieren.
Bezüglich dem Hinweis "der gleiche code kann verwendet werden, um die Validierung gegen ein schema beim serialisieren", gibt es eine Frage hier: stackoverflow.com/q/53168867/5333340
InformationsquelleAutor John Saunders
Dem folgenden code wird manuell laden und validieren Sie Ihre XML gegen ein schema-Datei programmgesteuert, so dass Sie sich mit jeder entstehende Fehler und/oder Warnungen.
Nun, offensichtlich Sie den Wunsch haben die Klassen generiert xsd.exe tun dies automatisch, und beim laden (der obige Ansatz würde eine zweite handling der XML-Datei), aber eine pre-load überprüfen würde ermöglichen es Ihnen, programmgesteuert erkennen eine fehlerhafte input-Datei.
In der Frage-text, der OP drückt, will er eine Ausnahme für eine ungültige Eingabe-xml an. Dieser Ansatz ist das auch schon erledigt. Ich behaupte nicht, dass dies der einzige Weg, es getan werden kann, oder auch, dass es der beste Weg ist. Aber ich reagierte mit einem Ansatz (aus der Spitze von meinem Kopf) hatte ich in der Vergangenheit verwendet, um in der Regel die überprüfung von XML-Dokumenten.
InformationsquelleAutor el2iot2