XmlSchemaInference Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Leitet ein XML-Schema der Schemadefinitionssprache (XSD) aus einem XML-Dokument ab. Die XmlSchemaInference Klasse kann nicht geerbt werden.
public ref class XmlSchemaInference sealed
public sealed class XmlSchemaInference
type XmlSchemaInference = class
Public NotInheritable Class XmlSchemaInference
- Vererbung
-
XmlSchemaInference
Beispiele
In diesem Beispiel wird eine XML-Datei als Eingabe verwendet und ein Schema generiert, mit dem das Beispiel-XML überprüft werden kann.
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
Nachfolgend sehen Sie die XML-Eingabedatei.
<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>
Nachfolgend sehen Sie das Schema, das aus dem XML-Dokument abgeleitet wurde.
<?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>
Hinweise
Important
- Verwenden Sie keine Schemas aus unbekannten oder nicht vertrauenswürdigen Quellen oder Speicherorten. Dadurch wird die Sicherheit Ihres Codes beeinträchtigt.
- XML-Schemas (einschließlich Inlineschemas) sind inhärent anfällig für Denial-of-Service-Angriffe; nehmen Sie sie in nicht vertrauenswürdigen Szenarien nicht an.
- Schemaüberprüfungsfehlermeldungen und Ausnahmen können vertrauliche Informationen über das Inhaltsmodell oder URI-Pfade für die Schemadatei verfügbar machen. Achten Sie darauf, diese Informationen nicht für nicht vertrauenswürdige Aufrufer verfügbar zu machen.
Mit XmlSchemaInference der Klasse im System.Xml.Schema Namespace können Sie ein XML-Schema der Schemadefinitionssprache (XSD) aus der Struktur eines XML-Dokuments ableiten. Die XmlSchemaInference Klasse gibt ein XML-Schema aus, das das XML-Dokument überprüfen kann.
Die XmlSchemaInference Klasse unterstützt die W3C-XML- und XML-Schemas-Standards. Es kann verwendet werden, um ein neues Schema abzuleiten oder ein vorhandenes Schema zu verfeinern.
Konstruktoren
| Name | Beschreibung |
|---|---|
| XmlSchemaInference() |
Initialisiert eine neue Instanz der XmlSchemaInference-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Occurrence |
Dient zum Abrufen oder Festlegen des Werts, der XmlSchemaInference.InferenceOption sich auf Schemainstanzdeklarationen auswirkt, die aus dem XML-Dokument abgeleitet werden. |
| TypeInference |
Dient zum Abrufen oder Festlegen des Werts, der XmlSchemaInference.InferenceOption sich auf Typen auswirkt, die aus dem XML-Dokument abgeleitet werden. |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| InferSchema(XmlReader, XmlSchemaSet) |
Leitet ein XML-Schema der Schemadefinitionssprache (XSD) aus dem XML-Dokument ab, das XmlReader im angegebenen Objekt enthalten ist, und verfeinert das abgeleitete Schema mithilfe eines vorhandenen Schemas im Objekt, das XmlSchemaSet mit demselben Zielnamespace angegeben ist. |
| InferSchema(XmlReader) |
Leitet ein XML-Schemadefinitionssprache (XSD)-Schema aus dem XML-Dokument ab, das XmlReader im angegebenen Objekt enthalten ist. |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |