Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Om du vill generera XSD-schemascheman (XML Schema Definition Language) från klasser som används i datakontraktsmodellen använder du XsdDataContractExporter klassen . Det här avsnittet beskriver processen för att skapa scheman.
Exportprocessen
Schemaexportprocessen börjar med en eller flera typer och skapar en XmlSchemaSet som beskriver XML-projektionen av dessa typer.
              XmlSchemaSet är en del av .NET Frameworks schemaobjektmodell (SOM) som representerar en uppsättning XSD-schemadokument. Om du vill skapa XSD-dokument från en XmlSchemaSetanvänder du samlingen med scheman från Schemas -egenskapen för XmlSchemaSet klassen. Serialisera sedan varje XmlSchema objekt med hjälp av XmlSerializer.
Exportera scheman
Skapa en instans av XsdDataContractExporter.
Valfritt. Skicka en XmlSchemaSet i konstruktorn. I det här fallet läggs schemat som genererades under schemaexporten till i den här XmlSchemaSet instansen i stället för att börja med en tom XmlSchemaSet.
Valfritt. Anropa en av CanExport metoderna. Metoden avgör om den angivna typen kan exporteras. Metoden har samma överlagringar som
Exportmetoden i nästa steg.Anropa en av Export metoderna. Det finns tre överlagringar som tar en Type, eller en List<T> av
Typeobjekt, eller ett List<T> av Assembly objekt. I det sista fallet exporteras alla typer i alla angivna sammansättningar.Flera anrop till metoden
Exportresulterar i att flera objekt läggs till i sammaXmlSchemaSet. En typ genereras inte tillXmlSchemaSetom den redan finns där. Därför är det bättre att anropaExportflera gånger på sammaXsdDataContractExportersätt än att skapa flera instanser avXsdDataContractExporterklassen. Detta förhindrar att dubbletter av schematyper genereras.Anmärkning
Om det uppstår ett fel under exporten är det
XmlSchemaSeti ett oförutsägbart tillstånd.Få åtkomst till XmlSchemaSet via Schemas -egenskapen.
Exportalternativ
Du kan ange egenskapen för Options till en instans av klassen XsdDataContractExporter för att styra olika aspekter av exportprocessen. Mer specifikt kan du ange följande alternativ:
KnownTypes. I den här samlingen finns
Typerepresenterat, vilket motsvarar de kända typerna för de typer som exporteras. (Mer information finns i Kända typer av datakontrakt.) Dessa kända typer exporteras vid varjeExportanrop utöver de typer som skickasExporttill metoden.DataContractSurrogate. En IDataContractSurrogate kan anges via den här egenskapen som anpassar exportprocessen. Mer information finns i Data Contract Surrogates. Som standard används ingen surrogat.
Hjälpmetoder
Förutom den primära rollen att exportera schema XsdDataContractExporter tillhandahåller de flera användbara hjälpmetoder som ger information om typer. Dessa inkluderar:
GetRootElementName metod. Den här metoden tar en
Typeoch returnerar ett XmlQualifiedName som representerar rotelementets namn och namnområde som skulle användas om den här typen serialiserades som rotobjektet.GetSchemaTypeName metod. Den här metoden tar en
Typeoch returnerar ett XmlQualifiedName som representerar namnet på den XSD-schematyp som skulle användas om den här typen exporterades till schemat. För IXmlSerializable typer som representeras som anonyma typer i schemat returnerarnullden här metoden .GetSchemaType metod. Den här metoden fungerar bara med IXmlSerializable typer som representeras som anonyma typer i schemat och returnerar
nullför alla andra typer. För anonyma typer returnerar den här metoden en XmlSchemaType som representerar en vissType.
Exportalternativen påverkar alla dessa metoder.