Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Extensions-Klasse

Diese Klasse enthält die LINQ to XML-Erweiterungsmethoden zur XSD-Validierung.

System.Object
  System.Xml.Schema.Extensions

Namespace:  System.Xml.Schema
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)
public static class Extensions
  Name Beschreibung
Öffentliche Methode Statischer Member GetSchemaInfo(XAttribute) Ruft das Post-Schema-Validation-Infoset (PSVI) eines validierten Attributs ab.
Öffentliche Methode Statischer Member GetSchemaInfo(XElement) Ruft das Post-Schema-Validation-Infoset (PSVI) eines validierten Elements ab.
Öffentliche Methode Statischer Member Validate(XDocument, XmlSchemaSet, ValidationEventHandler) Diese Methode validiert, ob ein XDocument einer XSD in einem XmlSchemaSet entspricht.
Öffentliche Methode Statischer Member Validate(XAttribute, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler) Diese Methode validiert, ob ein XAttribute einem angegebenen XmlSchemaObject und einem XmlSchemaSet entspricht.
Öffentliche Methode Statischer Member 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.
Öffentliche Methode Statischer Member Validate(XElement, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler) Diese Methode validiert, ob eine XElement-Teilstruktur einem angegebenen XmlSchemaObject und einem XmlSchemaSet entspricht.
Öffentliche Methode Statischer Member 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.
Öffentliche Methode Statischer Member 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.
Zum Seitenanfang

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

.NET Framework

Unterstützt in: 4, 3.5

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

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.
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ