Aracılığıyla paylaş


XmlSchemaInference Sınıf

Tanım

XML belgesinden XML Şema Tanımlama Dili (XSD) şemasını çıkarsar. XmlSchemaInference Sınıf devralınamaz.

public ref class XmlSchemaInference sealed
public sealed class XmlSchemaInference
type XmlSchemaInference = class
Public NotInheritable Class XmlSchemaInference
Devralma
XmlSchemaInference

Örnekler

Bu örnek, giriş olarak bir XML dosyası alır ve örnek XML'yi doğrulayan bir şema oluşturur.

XmlReader^ reader = XmlReader::Create("contosoBooks.xml");
XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet();
XmlSchemaInference^ schema = gcnew XmlSchemaInference();

schemaSet = schema->InferSchema(reader);

for each (XmlSchema^ s in schemaSet->Schemas())
{
    s->Write(Console::Out);
}
XmlReader reader = XmlReader.Create("contosoBooks.xml");
XmlSchemaSet schemaSet = new XmlSchemaSet();
XmlSchemaInference schema = new XmlSchemaInference();

schemaSet = schema.InferSchema(reader);

foreach (XmlSchema s in schemaSet.Schemas())
{
    s.Write(Console.Out);
}
Dim reader As XmlReader = XmlReader.Create("contosoBooks.xml")
Dim schemaSet As XmlSchemaSet = New XmlSchemaSet()
Dim schema As XmlSchemaInference = New XmlSchemaInference()

schemaSet = schema.InferSchema(reader)

For Each s As XmlSchema In schemaSet.Schemas()
    s.Write(Console.Out)
Next

Giriş XML dosyası aşağıdadır.

<bookstore xmlns="http://www.contoso.com/books">
  <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>

Xml belgesinden çıkarılan şema aşağıdadır.

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.contoso.com/books" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="bookstore">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" name="book">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="title" type="xs:string" />
                            <xs:element name="author">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element minOccurs="0" name="name" type="xs:string" />
                                        <xs:element minOccurs="0" name="first-name" type="xs:string" />
                                        <xs:element minOccurs="0" name="last-name" type="xs:string" />
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="price" type="xs:decimal" />
                        </xs:sequence>
                        <xs:attribute name="genre" type="xs:string" use="required" />
                        <xs:attribute name="publicationdate" type="xs:date" use="required" />
                        <xs:attribute name="ISBN" type="xs:string" use="required" />
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Açıklamalar

Önemli

  • Bilinmeyen veya güvenilmeyen kaynaklardan veya konumlardan gelen şemaları kullanmayın. Bunu yaptığınızda kodunuzun güvenliği tehlikeye girer.
  • XML şemaları (satır içi şemalar dahil) hizmet reddi saldırılarına karşı doğal olarak savunmasızdır; güvenilmeyen senaryolarda bunları kabul etmeyin.
  • Şema doğrulama hata iletileri ve özel durumlar, içerik modeli veya URI yolları hakkındaki hassas bilgileri şema dosyasının kullanımına sunabilir. Bu bilgileri güvenilmeyen arayanlara göstermemeye dikkat edin.

XmlSchemaInference Ad alanında sınıfı, XML belgesinin System.Xml.Schema yapısından XML Şema Tanımlama Dili (XSD) şemasını çıkarmanıza olanak tanır. sınıfı, XmlSchemaInference XML belgesini doğrulayan bir XML şeması oluşturur.

sınıfı W3C XmlSchemaInference XML ve XML Şemaları standartlarını destekler. Yeni bir şema çıkarsamak veya var olan bir şemayı daraltmak için kullanılabilir.

Oluşturucular

XmlSchemaInference()

XmlSchemaInference sınıfının yeni bir örneğini başlatır.

Özellikler

Occurrence

XML belgesinden çıkarılan şema oluşumu bildirimlerini etkileyen değeri alır veya ayarlar XmlSchemaInference.InferenceOption .

TypeInference

XML belgesinden çıkarılan türleri etkileyen değeri alır veya ayarlar XmlSchemaInference.InferenceOption .

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
InferSchema(XmlReader)

Belirtilen nesnede bulunan XML belgesinden bir XML Şema Tanımlama Dili (XSD) şeması çıkarsar XmlReader .

InferSchema(XmlReader, XmlSchemaSet)

Belirtilen nesnede XmlReader bulunan XML belgesinden bir XML Şema Tanımlama Dili (XSD) şeması çıkarsar ve aynı hedef ad alanıyla belirtilen nesnede var olan bir şemayı kullanarak çıkarsanan şemayı XmlSchemaSet daraltır.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır