Sdílet prostřednictvím


Export schémat ze tříd

Chcete-li vygenerovat schémata jazyka XSD (XML Schema Definition Language) z tříd, které se používají v modelu kontraktu XsdDataContractExporter dat, použijte třídu. Toto téma popisuje proces vytváření schémat.

Proces exportu

Proces exportu schématu začíná jedním nebo více typy a vytvoří XmlSchemaSet ten, který popisuje projekci XML těchto typů.

Je XmlSchemaSet součástí objektového modelu schématu rozhraní .NET Framework (SOM), který představuje sadu dokumentů schématU XSD. Chcete-li vytvořit dokumenty XSD z objektu XmlSchemaSet, použijte kolekci schémat z Schemas vlastnosti XmlSchemaSet třídy. Potom serializovat každý XmlSchema objekt pomocí XmlSerializer.

Export schémat

  1. Vytvořte instanci XsdDataContractExporter.

  2. Nepovinné. Předejte XmlSchemaSet konstruktor. V tomto případě je schéma vygenerované během exportu schématu přidáno do této XmlSchemaSet instance namísto spuštění s prázdnou XmlSchemaSet.

  3. Nepovinné. Volejte jednu z CanExport metod. Metoda určuje, zda zadaný typ lze exportovat. Metoda má stejné přetížení jako Export metoda v dalším kroku.

  4. Volejte jednu z Export metod. Existují tři přetížení, která přebírá Typeobjekty List<T>Type nebo List<T>Assembly objekty. V posledním případě se exportují všechny typy ve všech daných sestaveních.

    Více volání metody Export vede k přidání více položek do stejného XmlSchemaSet. Typ není vygenerován v XmlSchemaSet případě, že již existuje. Export Proto volání vícekrát na stejné XsdDataContractExporter je vhodnější vytvořit více instancí XsdDataContractExporter třídy. Tím se zabrání generování duplicitních typů schémat.

    Poznámka:

    Pokud během exportu dojde k selhání, XmlSchemaSet bude stav nepředvídatelný.

  5. Přístup k XmlSchemaSetSchemas vlastnosti.

Možnosti exportu

Vlastnost třídy XsdDataContractExporter můžete nastavit Options na instanci ExportOptions třídy, abyste mohli řídit různé aspekty procesu exportu. Konkrétně můžete nastavit následující možnosti:

  • KnownTypes. Tato kolekce Type představuje známé typy exportovaných typů. (Další informace najdete v tématu Známé typy kontraktů dat.) Tyto známé typy jsou exportovány při každém Export volání kromě typů předaných metodě Export .

  • DataContractSurrogate. Prostřednictvím IDataContractSurrogate této vlastnosti lze zadat vlastnost, která přizpůsobí proces exportu. Další informace naleznete v tématu Náhradní smlouvy dat. Ve výchozím nastavení se nepoužívá žádná náhradní položka.

Pomocné metody

Kromě primární role exportu schématu XsdDataContractExporter poskytuje několik užitečných pomocných metod, které poskytují informace o typech. Tady jsou některé z nich:

  • GetRootElementName Metoda. Tato metoda přebírá Type a vrací XmlQualifiedName , který představuje název kořenového elementu a obor názvů, který by byl použit, pokud tento typ byl serializován jako kořenový objekt.

  • GetSchemaTypeName Metoda. Tato metoda přebírá Type a vrací XmlQualifiedName , který představuje název typu schématu XSD, který by byl použit, pokud byl tento typ exportován do schématu. Pro IXmlSerializable typy reprezentované jako anonymní typy ve schématu, tato metoda vrátí null.

  • GetSchemaType Metoda. Tato metoda funguje pouze s IXmlSerializable typy, které jsou reprezentovány jako anonymní typy ve schématu, a vrací null pro všechny ostatní typy. Pro anonymní typy vrátí tato metoda XmlSchemaType , která představuje dané Type.

Možnosti exportu ovlivňují všechny tyto metody.

Viz také