Megosztás a következőn keresztül:


Sémák exportálása osztályokból

Ha XML-sémadefiníciós nyelv (XSD) sémákat szeretne létrehozni az adatszerződés-modellben használt osztályokból, használja az osztályt XsdDataContractExporter . Ez a témakör a sémák létrehozásának folyamatát ismerteti.

Az exportálási folyamat

A sémaexportálási folyamat egy vagy több típussal kezdődik, és létrehoz egy XmlSchemaSet , az ilyen típusok XML-vetületét leírót.

Ez XmlSchemaSet a .NET-keretrendszer sémaobjektum-modelljének (SOM) része, amely XSD-sémadokumentumok halmazát jelöli. XSD-dokumentumok létrehozásához XmlSchemaSethasználja az osztály tulajdonságából származó Schemas sémák gyűjteményét XmlSchemaSet . Ezután szerializálja az egyes XmlSchema objektumokat a XmlSerializer.

Sémák exportálása

  1. Hozza létre a XsdDataContractExporter egy példányát.

  2. Opcionális. Adjon át egy XmlSchemaSet konstruktort. Ebben az esetben a sémaexportálás során létrehozott séma hozzá lesz adva ehhez XmlSchemaSet a példányhoz, nem pedig üres XmlSchemaSet.

  3. Opcionális. Hívja meg az egyik metódust CanExport . A metódus meghatározza, hogy a megadott típus exportálható-e. A metódus túlterhelése megegyezik a Export következő lépésben szereplő metódus túlterhelésével.

  4. Hívja meg az egyik metódust Export . Három túlterhelés van, amelyek egy Type, egy List<T>Type objektumot vagy objektumot List<T>Assembly vesznek igénybe. Az utolsó esetben a rendszer az összes adott szerelvények összes típusát exportálja.

    A metódus több Export hívásával több elem is hozzáadódik ugyanahhoz XmlSchemaSeta metódushoz. A rendszer nem hoz létre típust abban az XmlSchemaSet esetben, ha már létezik ott. Ezért az osztály több példányának létrehozása előnyösebb, ha egyszerre többször is meghívja Export az osztálytXsdDataContractExporter.XsdDataContractExporter Így elkerülhető, hogy ismétlődő sématípusok legyenek létrehozva.

    Feljegyzés

    Ha az exportálás során hiba történik, a XmlSchemaSet rendszer kiszámíthatatlan állapotban lesz.

  5. Hozzáférés a XmlSchemaSet tulajdonságon keresztül Schemas .

Exportálási beállítások

A tulajdonságot OptionsXsdDataContractExporter az osztály egy példányára állíthatja be az ExportOptions exportálási folyamat különböző aspektusainak szabályozásához. Konkrétan a következő beállításokat állíthatja be:

Segédmetenek

A séma exportálásának elsődleges szerepe mellett számos XsdDataContractExporter hasznos segédmetét is kínál, amelyek a típusokkal kapcsolatos információkat nyújtanak. Ezek közé tartoznak:

  • GetRootElementName Módszer. Ez a metódus egy Type olyan értéket ad XmlQualifiedName vissza, amely a gyökérelem nevét és névterét jelöli, amelyet akkor használna, ha ez a típus gyökérobjektumként lett szerializálva.

  • GetSchemaTypeName Módszer. Ez a metódus egy Type olyan XSD-sématípus nevét adja vissza XmlQualifiedName , amelyet akkor használna, ha ez a típus a sémába lett exportálva. A sémában névtelen típusokként megadott típusok esetén IXmlSerializable ez a metódus ad vissza null.

  • GetSchemaType Módszer. Ez a módszer csak olyan típusokkal IXmlSerializable működik, amelyek névtelen típusokként jelennek meg a sémában, és az összes többi típushoz visszatérnek null . Névtelen típusok esetén ez a metódus egy XmlSchemaType adott értéket képviselő értéket ad Typevissza.

Az exportálási lehetőségek az összes metódust érintik.

Lásd még