Extensions Klasa

Definicja

Ta klasa zawiera metody rozszerzenia LINQ to XML na potrzeby weryfikacji XSD.

C#
public static class Extensions
Dziedziczenie
Extensions

Przykłady

Plik XSD w przykładowym pliku XSD: Klienci i zamówienia zawierają schemat, który może służyć do weryfikowania dokumentu XML w przykładowym pliku XML: klienci i zamówienia. Poniższy przykład ładuje schemat i dokument, weryfikuje dokument, zmienia dokument, aby xs:key relacja i xs:keyref nie jest prawidłowa, a następnie próbuje ponownie zweryfikować.

C#
                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");  

Ten przykład generuje następujące wyniki:

Validating custOrd  
custOrd validated  

Validating custOrd  
The key sequence 'AAAAA' in Keyref fails to refer to some key.  
custOrd did not validate  

Uwagi

Ta klasa zawiera również metody pobierania zestawu informacji po weryfikacji schematu (PSVI) zweryfikowanego węzła XML.

Podczas sprawdzania XDocumentpoprawności elementu , XElementlub XAttributemożna również opcjonalnie wypełnić drzewo XML zestawem informacji po weryfikacji schematu. Informacje PSVI są dodawane jako adnotacja typu System.Xml.Schema.XmlSchemaInfo.

Metody

GetSchemaInfo(XAttribute)

Pobiera zestaw informacji po weryfikacji schematu (PSVI) zweryfikowanego atrybutu.

GetSchemaInfo(XElement)

Pobiera zestaw informacji po weryfikacji schematu (PSVI) zweryfikowanego elementu.

Validate(XAttribute, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler)

Ta metoda sprawdza, czy element XAttribute jest zgodny z określonym XmlSchemaObject i .XmlSchemaSet

Validate(XAttribute, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler, Boolean)

Sprawdza, czy element XAttribute jest zgodny z określonym XmlSchemaObject i XmlSchemaSet, opcjonalnie wypełnia drzewo XML za pomocą zestawu informacji po weryfikacji schematu (PSVI).

Validate(XDocument, XmlSchemaSet, ValidationEventHandler)

Ta metoda sprawdza, czy element XDocument jest zgodny z XSD w elemecie XmlSchemaSet.

Validate(XDocument, XmlSchemaSet, ValidationEventHandler, Boolean)

Sprawdza, czy element XDocument jest zgodny z XSD w XmlSchemaSetpliku , opcjonalnie wypełnia drzewo XML przy użyciu zestawu informacji po weryfikacji schematu (PSVI).

Validate(XElement, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler)

Ta metoda sprawdza, czy XElement drzewo podrzędne jest zgodne z określonym XmlSchemaObject i .XmlSchemaSet

Validate(XElement, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler, Boolean)

Sprawdza, czy XElement drzewo podrzędne jest zgodne z określonym XmlSchemaObject i XmlSchemaSet, opcjonalnie wypełnianie drzewa XML za pomocą zestawu informacji po weryfikacji schematu (PSVI).

Dotyczy

Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1