Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
Extensions-Klasse
Diese Klasse enthält die LINQ to XML-Erweiterungsmethoden zur XSD-Validierung.
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
| Name | Beschreibung | |
|---|---|---|
|
GetSchemaInfo(XAttribute) | Ruft das Post-Schema-Validation-Infoset (PSVI) eines validierten Attributs ab. |
|
GetSchemaInfo(XElement) | Ruft das Post-Schema-Validation-Infoset (PSVI) eines validierten Elements ab. |
|
Validate(XDocument, XmlSchemaSet, ValidationEventHandler) | Diese Methode validiert, ob ein XDocument einer XSD in einem XmlSchemaSet entspricht. |
|
Validate(XAttribute, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler) | Diese Methode validiert, ob ein XAttribute einem angegebenen XmlSchemaObject und einem XmlSchemaSet entspricht. |
|
Validate(XDocument, XmlSchemaSet, ValidationEventHandler, Boolean) | Validiert, ob ein XDocument einer XSD in einem XmlSchemaSet entspricht, und füllt die XML-Struktur optional mit dem Post-Schema-Validation-Infoset (PSVI) auf. |
|
Validate(XElement, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler) | Diese Methode validiert, ob eine XElement-Teilstruktur einem angegebenen XmlSchemaObject und einem XmlSchemaSet entspricht. |
|
Validate(XAttribute, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler, Boolean) | Validiert, ob ein XAttribute einem angegebenen XmlSchemaObject und einem XmlSchemaSet entspricht, und füllt die XML-Struktur optional mit dem Post-Schema-Validation-Infoset (PSVI) auf. |
|
Validate(XElement, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler, Boolean) | Validiert, ob eine XElement-Teilstruktur einem angegebenen XmlSchemaObject und einem XmlSchemaSet entspricht, und füllt die XML-Struktur optional mit dem Post-Schema-Validation-Infoset (PSVI) auf. |
Diese Klasse enthält auch Methoden, um das Post-Schema-Validation-Infoset (PSVI) von einem validierten XML-Knoten abzurufen.
Wenn Sie ein XDocument, XElement oder ein XAttribute validieren, können Sie optional auch die XML-Struktur mit dem Post-Schema-Validation-Infoset füllen. PSVI-Informationen werden als Anmerkung des Typs System.Xml.Schema.XmlSchemaInfo hinzugefügt.
Die XSD in XSD-Beispieldatei: Kunden ('Customers') und Aufträge ('Orders') beinhaltet ein Schema, mit dem das XML-Dokument in XML-Beispieldatei: Kunden ('Customers') und Aufträge ('Orders') (LINQ to XML) validiert werden kann. Im folgenden Beispiel werden das Schema und das Dokument geladen. Das Dokument wird validiert und geändert, sodass die xs:key- und die xs:keyref-Beziehung ungültig werden. Anschließend wird die Validierung wiederholt.
XmlSchemaSet schemas = new XmlSchemaSet(); schemas.Add("", "CustomersOrders.xsd"); XDocument custOrd = XDocument.Load("CustomersOrders.xml"); Console.WriteLine("Validating custOrd"); bool errors = false; custOrd.Validate(schemas, (o, e) => { Console.WriteLine("{0}", e.Message); errors = true; }); Console.WriteLine("custOrd {0}", errors ? "did not validate" : "validated"); // Modify the custOrd tree so that it is no longer valid. custOrd.Root.Element("Orders").Element("Order").Element("CustomerID").Value = "AAAAA"; Console.WriteLine(); Console.WriteLine("Validating custOrd"); errors = false; custOrd.Validate(schemas, (o, e) => { Console.WriteLine("{0}", e.Message); errors = true; }); Console.WriteLine("custOrd {0}", errors ? "did not validate" : "validated");
Dieses Beispiel erzeugt folgende Ausgabe:
Validating custOrd custOrd validated Validating custOrd The key sequence 'AAAAA' in Keyref fails to refer to some key. custOrd did not validate
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.