XmlTypeAttribute Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса XmlTypeAttribute.
Перегрузки
XmlTypeAttribute() |
Инициализирует новый экземпляр класса XmlTypeAttribute. |
XmlTypeAttribute(String) |
Инициализирует новый экземпляр класса XmlTypeAttribute и задает имя типа XML. |
XmlTypeAttribute()
- Исходный код:
- XmlTypeAttribute.cs
- Исходный код:
- XmlTypeAttribute.cs
- Исходный код:
- XmlTypeAttribute.cs
Инициализирует новый экземпляр класса XmlTypeAttribute.
public:
XmlTypeAttribute();
public XmlTypeAttribute ();
Public Sub New ()
Примеры
В следующем примере создаются два экземпляра XmlTypeAttribute класса , которые используются для переопределения сериализации двух классов.
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml::Serialization;
public ref class Address
{
public:
String^ state;
String^ zip;
};
public ref class Person
{
public:
String^ personName;
Address^ address;
};
public ref class PersonTypeAttribute
{
public:
XmlSerializer^ CreateOverrider()
{
XmlAttributeOverrides^ personOverride = gcnew XmlAttributeOverrides;
XmlAttributes^ personAttributes = gcnew XmlAttributes;
XmlTypeAttribute^ personType = gcnew XmlTypeAttribute;
personType->TypeName = "Employee";
personType->Namespace = "http://www.microsoft.com";
personAttributes->XmlType = personType;
XmlAttributes^ addressAttributes = gcnew XmlAttributes;
// Create 'XmlTypeAttribute' with 'TypeName' as an argument.
XmlTypeAttribute^ addressType = gcnew XmlTypeAttribute( "Address" );
addressType->Namespace = "http://www.microsoft.com";
addressAttributes->XmlType = addressType;
personOverride->Add( Person::typeid, personAttributes );
personOverride->Add( Address::typeid, addressAttributes );
XmlSerializer^ myXmlSerializer = gcnew XmlSerializer( Person::typeid,personOverride );
return myXmlSerializer;
}
void SerializeObject( String^ filename )
{
XmlSerializer^ myXmlSerializer = CreateOverrider();
Address^ myAddress = gcnew Address;
myAddress->state = "AAA";
myAddress->zip = "11111";
Person^ myPerson = gcnew Person;
myPerson->personName = "Smith";
myPerson->address = myAddress;
// Serialize to a file.
TextWriter^ writer = gcnew StreamWriter( filename );
myXmlSerializer->Serialize( writer, myPerson );
}
};
int main()
{
PersonTypeAttribute^ myPersonTypeAttribute = gcnew PersonTypeAttribute;
myPersonTypeAttribute->SerializeObject( "XmlType.xml" );
}
using System;
using System.IO;
using System.Xml.Serialization;
public class Person
{
public string personName;
public Address address;
}
public class Address
{
public string state;
public string zip;
}
public class PersonTypeAttribute
{
public static void Main()
{
PersonTypeAttribute myPersonTypeAttribute= new PersonTypeAttribute();
myPersonTypeAttribute.SerializeObject("XmlType.xml");
}
public XmlSerializer CreateOverrider()
{
XmlAttributeOverrides personOverride = new XmlAttributeOverrides();
XmlAttributes personAttributes = new XmlAttributes();
XmlTypeAttribute personType = new XmlTypeAttribute();
personType.TypeName = "Employee";
personType.Namespace = "http://www.microsoft.com";
personAttributes.XmlType = personType;
XmlAttributes addressAttributes = new XmlAttributes();
// Create 'XmlTypeAttribute' with 'TypeName' as an argument.
XmlTypeAttribute addressType = new XmlTypeAttribute("Address");
addressType.Namespace = "http://www.microsoft.com";
addressAttributes.XmlType=addressType;
personOverride.Add(typeof(Person) ,personAttributes);
personOverride.Add(typeof(Address),addressAttributes);
XmlSerializer myXmlSerializer = new XmlSerializer
(typeof(Person), personOverride);
return myXmlSerializer;
}
public void SerializeObject(string filename)
{
XmlSerializer myXmlSerializer = CreateOverrider();
Address myAddress = new Address();
myAddress.state="AAA";
myAddress.zip="11111";
Person myPerson = new Person();
myPerson.personName="Smith";
myPerson.address=myAddress;
// Serialize to a file.
TextWriter writer = new StreamWriter(filename);
myXmlSerializer.Serialize(writer, myPerson);
}
}
Imports System.IO
Imports System.Xml.Serialization
Public Class Person
Public personName As String
Public address As Address
End Class
Public Class Address
Public state As String
Public zip As String
End Class
Public Class PersonTypeAttribute
Public Shared Sub Main()
Dim myPersonTypeAttribute As New PersonTypeAttribute()
myPersonTypeAttribute.SerializeObject("XmlType.xml")
End Sub
Public Function CreateOverrider() As XmlSerializer
Dim personOverride As New XmlAttributeOverrides()
Dim personAttributes As New XmlAttributes()
Dim personType As New XmlTypeAttribute()
personType.TypeName = "Employee"
personType.Namespace = "http://www.microsoft.com"
personAttributes.XmlType = personType
Dim addressAttributes As New XmlAttributes()
' Create 'XmlTypeAttribute' with 'TypeName' as an argument.
Dim addressType As New XmlTypeAttribute("Address")
addressType.Namespace = "http://www.microsoft.com"
addressAttributes.XmlType = addressType
personOverride.Add(GetType(Person), personAttributes)
personOverride.Add(GetType(Address), addressAttributes)
Dim myXmlSerializer As New XmlSerializer(GetType(Person), personOverride)
Return myXmlSerializer
End Function
Public Sub SerializeObject(filename As String)
Dim myXmlSerializer As XmlSerializer = CreateOverrider()
Dim myAddress As New Address()
myAddress.state = "AAA"
myAddress.zip = "11111"
Dim myPerson As New Person()
myPerson.personName = "Smith"
myPerson.address = myAddress
' Serialize to a file.
Dim writer = New StreamWriter(filename)
myXmlSerializer.Serialize(writer, myPerson)
End Sub
End Class
Применяется к
XmlTypeAttribute(String)
- Исходный код:
- XmlTypeAttribute.cs
- Исходный код:
- XmlTypeAttribute.cs
- Исходный код:
- XmlTypeAttribute.cs
Инициализирует новый экземпляр класса XmlTypeAttribute и задает имя типа XML.
public:
XmlTypeAttribute(System::String ^ typeName);
public XmlTypeAttribute (string typeName);
public XmlTypeAttribute (string? typeName);
new System.Xml.Serialization.XmlTypeAttribute : string -> System.Xml.Serialization.XmlTypeAttribute
Public Sub New (typeName As String)
Параметры
- typeName
- String
Имя типа XML, генерируемое XmlSerializer при сериализации экземпляра класса (и определении при десериализации экземпляра класса).
Примеры
В следующем примере создаются два экземпляра XmlTypeAttribute класса , которые используются для переопределения сериализации двух классов.
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml::Serialization;
public ref class Address
{
public:
String^ state;
String^ zip;
};
public ref class Person
{
public:
String^ personName;
Address^ address;
};
public ref class PersonTypeAttribute
{
public:
XmlSerializer^ CreateOverrider()
{
XmlAttributeOverrides^ personOverride = gcnew XmlAttributeOverrides;
XmlAttributes^ personAttributes = gcnew XmlAttributes;
XmlTypeAttribute^ personType = gcnew XmlTypeAttribute;
personType->TypeName = "Employee";
personType->Namespace = "http://www.microsoft.com";
personAttributes->XmlType = personType;
XmlAttributes^ addressAttributes = gcnew XmlAttributes;
// Create 'XmlTypeAttribute' with 'TypeName' as an argument.
XmlTypeAttribute^ addressType = gcnew XmlTypeAttribute( "Address" );
addressType->Namespace = "http://www.microsoft.com";
addressAttributes->XmlType = addressType;
personOverride->Add( Person::typeid, personAttributes );
personOverride->Add( Address::typeid, addressAttributes );
XmlSerializer^ myXmlSerializer = gcnew XmlSerializer( Person::typeid,personOverride );
return myXmlSerializer;
}
void SerializeObject( String^ filename )
{
XmlSerializer^ myXmlSerializer = CreateOverrider();
Address^ myAddress = gcnew Address;
myAddress->state = "AAA";
myAddress->zip = "11111";
Person^ myPerson = gcnew Person;
myPerson->personName = "Smith";
myPerson->address = myAddress;
// Serialize to a file.
TextWriter^ writer = gcnew StreamWriter( filename );
myXmlSerializer->Serialize( writer, myPerson );
}
};
int main()
{
PersonTypeAttribute^ myPersonTypeAttribute = gcnew PersonTypeAttribute;
myPersonTypeAttribute->SerializeObject( "XmlType.xml" );
}
using System;
using System.IO;
using System.Xml.Serialization;
public class Person
{
public string personName;
public Address address;
}
public class Address
{
public string state;
public string zip;
}
public class PersonTypeAttribute
{
public static void Main()
{
PersonTypeAttribute myPersonTypeAttribute= new PersonTypeAttribute();
myPersonTypeAttribute.SerializeObject("XmlType.xml");
}
public XmlSerializer CreateOverrider()
{
XmlAttributeOverrides personOverride = new XmlAttributeOverrides();
XmlAttributes personAttributes = new XmlAttributes();
XmlTypeAttribute personType = new XmlTypeAttribute();
personType.TypeName = "Employee";
personType.Namespace = "http://www.microsoft.com";
personAttributes.XmlType = personType;
XmlAttributes addressAttributes = new XmlAttributes();
// Create 'XmlTypeAttribute' with 'TypeName' as an argument.
XmlTypeAttribute addressType = new XmlTypeAttribute("Address");
addressType.Namespace = "http://www.microsoft.com";
addressAttributes.XmlType=addressType;
personOverride.Add(typeof(Person) ,personAttributes);
personOverride.Add(typeof(Address),addressAttributes);
XmlSerializer myXmlSerializer = new XmlSerializer
(typeof(Person), personOverride);
return myXmlSerializer;
}
public void SerializeObject(string filename)
{
XmlSerializer myXmlSerializer = CreateOverrider();
Address myAddress = new Address();
myAddress.state="AAA";
myAddress.zip="11111";
Person myPerson = new Person();
myPerson.personName="Smith";
myPerson.address=myAddress;
// Serialize to a file.
TextWriter writer = new StreamWriter(filename);
myXmlSerializer.Serialize(writer, myPerson);
}
}
Imports System.IO
Imports System.Xml.Serialization
Public Class Person
Public personName As String
Public address As Address
End Class
Public Class Address
Public state As String
Public zip As String
End Class
Public Class PersonTypeAttribute
Public Shared Sub Main()
Dim myPersonTypeAttribute As New PersonTypeAttribute()
myPersonTypeAttribute.SerializeObject("XmlType.xml")
End Sub
Public Function CreateOverrider() As XmlSerializer
Dim personOverride As New XmlAttributeOverrides()
Dim personAttributes As New XmlAttributes()
Dim personType As New XmlTypeAttribute()
personType.TypeName = "Employee"
personType.Namespace = "http://www.microsoft.com"
personAttributes.XmlType = personType
Dim addressAttributes As New XmlAttributes()
' Create 'XmlTypeAttribute' with 'TypeName' as an argument.
Dim addressType As New XmlTypeAttribute("Address")
addressType.Namespace = "http://www.microsoft.com"
addressAttributes.XmlType = addressType
personOverride.Add(GetType(Person), personAttributes)
personOverride.Add(GetType(Address), addressAttributes)
Dim myXmlSerializer As New XmlSerializer(GetType(Person), personOverride)
Return myXmlSerializer
End Function
Public Sub SerializeObject(filename As String)
Dim myXmlSerializer As XmlSerializer = CreateOverrider()
Dim myAddress As New Address()
myAddress.state = "AAA"
myAddress.zip = "11111"
Dim myPerson As New Person()
myPerson.personName = "Smith"
myPerson.address = myAddress
' Serialize to a file.
Dim writer = New StreamWriter(filename)
myXmlSerializer.Serialize(writer, myPerson)
End Sub
End Class
Комментарии
XmlTypeAttribute Примените к классу , чтобы указать пространство имен типа XML, имя типа XML и включить ли тип в документ схемы XML. Чтобы просмотреть результаты задания свойств XmlTypeAttribute класса , скомпилируйте приложение в виде исполняемого файла или библиотеки DLL и передайте полученный файл в средство определения схемы XML (Xsd.exe). Средство записывает схему, включая определение типа.