XmlTypeAttribute 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 XmlTypeAttribute 类的新实例。
重载
XmlTypeAttribute() |
初始化 XmlTypeAttribute 类的新实例。 |
XmlTypeAttribute(String) |
初始化 XmlTypeAttribute 类的新实例,并指定 XML 类型的名称。 |
XmlTypeAttribute()
初始化 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 类的新实例,并指定 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
XmlSerializer 序列化类实例时生成(和在反序列化类实例时识别)的 XML 类型的名称。
示例
以下示例创建两个用于替代两个类序列化的类实例 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) 。 该工具将编写架构,包括类型定义。