İngilizce dilinde oku

Aracılığıyla paylaş


Extensions Sınıf

Tanım

Bu sınıf, XSD doğrulaması için LINQ to XML uzantısı yöntemlerini içerir.

C#
public static class Extensions
Devralma
Extensions

Örnekler

Örnek XSD dosyasındaki XSD: Müşteriler ve siparişler, Örnek XML dosyasındaKI XML belgesini doğrulamak için kullanılabilecek bir şema içerir: Müşteriler ve siparişler. Aşağıdaki örnek şemayı ve belgeyi yükler, belgeyi doğrular, ve xs:keyref ilişkisinin geçerli olmaması için belgeyi xs:key değiştirir ve sonra yeniden doğrulamayı dener.

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

Bu örnek aşağıdaki çıkışı oluşturur:

Validating custOrd  
custOrd validated  

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

Açıklamalar

Bu sınıf ayrıca doğrulanmış bir XML düğümünün şema doğrulama sonrası bilgi kümesini (PSVI) alma yöntemlerini de içerir.

Bir XDocument, XElementveya XAttributedoğruladığınızda, isteğe bağlı olarak XML ağacını şema doğrulama sonrası bilgi kümesiyle de doldurabilirsiniz. PSVI bilgileri türüne System.Xml.Schema.XmlSchemaInfoek açıklama olarak eklenir.

Yöntemler

GetSchemaInfo(XAttribute)

Doğrulanmış özniteliğin şema doğrulama sonrası bilgi kümesini (PSVI) alır.

GetSchemaInfo(XElement)

Doğrulanmış bir öğenin şema doğrulama sonrası bilgi kümesini (PSVI) alır.

Validate(XAttribute, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler)

Bu yöntem, belirtilen XAttributeXmlSchemaObject ve XmlSchemaSetile uyumlu olduğunu doğrular.

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

bir XAttribute öğesinin belirtilen XmlSchemaObject ve XmlSchemaSetile uyumlu olduğunu doğrular ve isteğe bağlı olarak XML ağacını şema doğrulama sonrası bilgi kümesi (PSVI) ile doldurur.

Validate(XDocument, XmlSchemaSet, ValidationEventHandler)

Bu yöntem, içindeki XDocument bir XSD ile XmlSchemaSetuyumlu olduğunu doğrular.

Validate(XDocument, XmlSchemaSet, ValidationEventHandler, Boolean)

xml XDocument ağacını şema sonrası doğrulama bilgi kümesi (PSVI) ile isteğe bağlı olarak dolduran bir XmlSchemaSetiçindeki XSD'ye uygun olduğunu doğrular.

Validate(XElement, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler)

Bu yöntem, bir XElement alt ağacın belirtilen XmlSchemaObject ve XmlSchemaSetile uyumlu olduğunu doğrular.

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

Bir XElement alt ağacın belirtilen XmlSchemaObject ve ile uyumlu olduğunu doğrular ve XmlSchemaSetisteğe bağlı olarak XML ağacını şema sonrası doğrulama bilgi kümesi (PSVI) ile doldurur.

Şunlara uygulanır

Ürün Sürümler
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.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, 4.8.1
.NET Standard 2.0, 2.1