Прочитать на английском

Поделиться через


XsdDataContractExporter Класс

Определение

Предоставляет возможность преобразования набора типов .NET, используемых в контрактах данных в файле схемы XML (XSD).

public class XsdDataContractExporter
Наследование
XsdDataContractExporter

Примеры

В следующем примере создается экземпляр класса XsdDataContractExporter и вызывается метод Export(Type).

using System;
using System.Xml;
using System.Runtime.Serialization;
using System.Xml.Schema;

public class Program
{
    public static void Main()
    {
        try
        {
            ExportXSD();
        }
        catch (Exception exc)
        {
            Console.WriteLine("Message: {0} StackTrace:{1}", exc.Message, exc.StackTrace);
        }
        finally
        {
            Console.ReadLine();
        }
    }

    static void ExportXSD()
    {
        XsdDataContractExporter exporter = new XsdDataContractExporter();
        if (exporter.CanExport(typeof(Employee)))
        {
            exporter.Export(typeof(Employee));
            Console.WriteLine("number of schemas: {0}", exporter.Schemas.Count);
            Console.WriteLine();
            XmlSchemaSet mySchemas = exporter.Schemas;

            XmlQualifiedName XmlNameValue = exporter.GetRootElementName(typeof(Employee));
            string EmployeeNameSpace = XmlNameValue.Namespace;

            foreach (XmlSchema schema in mySchemas.Schemas(EmployeeNameSpace))
            {
                schema.Write(Console.Out);
            }
        }
    }

    static void GetXmlElementName()
    {
        XsdDataContractExporter myExporter = new XsdDataContractExporter();
        XmlQualifiedName xmlElementName =myExporter.GetRootElementName(typeof(Employee));
        Console.WriteLine("Namespace: {0}", xmlElementName.Namespace);
        Console.WriteLine("Name: {0}", xmlElementName.Name);
        Console.WriteLine("IsEmpty: {0}", xmlElementName.IsEmpty);
    }

    [DataContract(Namespace = "www.Contoso.com/Examples/")]
    public class Employee
    {
        [DataMember]
        public string EmployeeName;
        [DataMember]
        private string ID;
    }
}

Комментарии

Дополнительные сведения об этом API см. в разделе Дополнительные примечания API для XsdDataContractExporter.

Конструкторы

XsdDataContractExporter()

Инициализирует новый экземпляр класса XsdDataContractExporter.

XsdDataContractExporter(XmlSchemaSet)

Инициализирует новый экземпляр класса XsdDataContractExporter с указанным набором схем.

Свойства

Options

Возвращает или задает объект ExportOptions, содержащий параметры, которые могут быть заданы для операции экспорта.

Schemas

Возвращает коллекцию экспортированных схем XML.

Методы

CanExport(ICollection<Assembly>)

Возвращает значение, указывающее, возможен ли экспорт набора типов среды CLR, содержащегося в наборе сборок.

CanExport(ICollection<Type>)

Возвращает значение, указывающее, возможен ли экспорт набора типов среды CLR, содержащегося в ICollection<T>.

CanExport(Type)

Возвращает значение, указывающее, возможен ли экспорт заданного типа среды CLR.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Export(ICollection<Assembly>)

Преобразует типы, содержащиеся в указанной коллекции сборок.

Export(ICollection<Type>)

Преобразует типы, содержащиеся в ICollection<T>, переданной в этот метод.

Export(Type)

Преобразует указанный тип платформа .NET Framework в схему языка определения схемы XML (XSD).

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetRootElementName(Type)

Возвращает имя верхнего уровня и пространство имен для типа Type.

GetSchemaType(Type)

Возвращает схему XML для заданного типа.

GetSchemaTypeName(Type)

Возвращает имя контракта и пространство имен контракта для типа Type.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

См. также раздел