XmlSchemaInference Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Härleder ett XSD-schema (XML Schema Definition Language) från ett XML-dokument. Klassen XmlSchemaInference kan inte ärvas.
public ref class XmlSchemaInference sealed
public sealed class XmlSchemaInference
type XmlSchemaInference = class
Public NotInheritable Class XmlSchemaInference
- Arv
-
XmlSchemaInference
Exempel
Det här exemplet tar en XML-fil som indata och genererar ett schema som kan verifiera XML-exemplet.
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
Följande är xml-indatafilen.
<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>
Följande är det schema som härleds från XML-dokumentet.
<?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>
Kommentarer
Important
- Använd inte scheman från okända eller ej betrodda källor eller platser. Om du gör det äventyras säkerheten för koden.
- XML-scheman (inklusive infogade scheman) är i sig sårbara för överbelastningsattacker. acceptera dem inte i ej betrodda scenarier.
- Felmeddelanden och undantag för schemavalidering kan exponera känslig information om innehållsmodellen eller URI-sökvägar till schemafilen. Var noga med att inte exponera den här informationen för ej betrodda uppringare.
Med XmlSchemaInference klassen i System.Xml.Schema namnområdet kan du härleda ett XSD-schema (XML Schema Definition Language) från strukturen för ett XML-dokument. Klassen XmlSchemaInference matar ut ett XML-schema som kan verifiera XML-dokumentet.
Klassen XmlSchemaInference stöder W3C XML- och XML-schemastandarder. Den kan användas för att härleda ett nytt schema eller för att förfina ett befintligt schema.
Konstruktorer
| Name | Description |
|---|---|
| XmlSchemaInference() |
Initierar en ny instans av XmlSchemaInference klassen. |
Egenskaper
| Name | Description |
|---|---|
| Occurrence |
Hämtar eller anger det XmlSchemaInference.InferenceOption värde som påverkar schemaförekomstdeklarationer som härleds från XML-dokumentet. |
| TypeInference |
Hämtar eller anger det XmlSchemaInference.InferenceOption värde som påverkar typer som härleds från XML-dokumentet. |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| InferSchema(XmlReader, XmlSchemaSet) |
Härleder ett XSD-schema (XML Schema Definition Language) från XML-dokumentet som finns i det XmlReader angivna objektet och förfinar det angivna schemat med hjälp av ett befintligt schema i objektet XmlSchemaSet som anges med samma målnamnområde. |
| InferSchema(XmlReader) |
Härleder ett XSD-schema (XML Schema Definition Language) från XML-dokumentet som finns i det XmlReader angivna objektet. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |