XmlSchemaInference Sınıf

Tanım

XML belgesinden BIR XML Şema Tanım Dili (XSD) şeması çıkartır. 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 = 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ıla ş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

Important

  • Bilinmeyen veya güvenilmeyen kaynaklardan veya konumlardan ş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, şema dosyasının içerik modeli veya URI yolları hakkında hassas bilgileri kullanıma sunabilir. Bu bilgileri güvenilmeyen arayanlara göstermemeye dikkat edin.

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

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

Oluşturucular

Name Description
XmlSchemaInference()

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

Özellikler

Name Description
Occurrence

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

TypeInference

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

Yöntemler

Name Description
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()

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

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

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

InferSchema(XmlReader)

Belirtilen nesnede bulunan XML belgesinden bir XML Şema Tanım Dili (XSD) şeması çıkartır XmlReader .

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

Şunlara uygulanır