XmlTypeAttribute コンストラクタ (String)
アセンブリ: System.Xml (system.xml.dll 内)
構文
解説
XmlTypeAttribute をクラスに適用し、XML 型の名前空間、XML 型名、および XML スキーマ ドキュメントにその型を含めるかどうかを指定します。XmlTypeAttribute クラスのプロパティの設定結果を確認するには、アプリケーションをコンパイルして実行可能ファイルまたは DLL を生成し、生成されたファイルを XML スキーマ定義ツール (Xsd.exe) に渡します。このツールは、型定義を含むスキーマを作成します。
XmlTypeAttribute クラスの 2 つのインスタンスを作成し、それらのインスタンスを使用して 2 つのクラスのシリアル化をオーバーライドする例を次に示します。
Imports System 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
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); } }
#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" ); }
import System.*; import System.IO.*; import System.Xml.Serialization.*; public class Person { public String personName; public Address address; } //Person public class Address { public String state; public String zip; } //Address public class PersonTypeAttribute { public static void main(String[] args) { PersonTypeAttribute myPersonTypeAttribute = new PersonTypeAttribute(); myPersonTypeAttribute.SerializeObject("XmlType.xml"); } //main public XmlSerializer CreateOverrider() { XmlAttributeOverrides personOverride = new XmlAttributeOverrides(); XmlAttributes personAttributes = new XmlAttributes(); XmlTypeAttribute personType = new XmlTypeAttribute(); personType.set_TypeName("Employee"); personType.set_Namespace("http://www.microsoft.com"); personAttributes.set_XmlType(personType); XmlAttributes addressAttributes = new XmlAttributes(); // Create 'XmlTypeAttribute' with 'TypeName' as an argument. XmlTypeAttribute addressType = new XmlTypeAttribute("Address"); addressType.set_Namespace("http://www.microsoft.com"); addressAttributes.set_XmlType(addressType); personOverride.Add(Person.class.ToType(), personAttributes); personOverride.Add(Address.class.ToType(), addressAttributes); XmlSerializer myXmlSerializer = new XmlSerializer(Person.class.ToType() , personOverride); return myXmlSerializer; } //CreateOverrider 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); } //SerializeObject } //PersonTypeAttribute
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
XmlTypeAttribute コンストラクタ
オーバーロードの一覧
名前 | 説明 |
---|---|
XmlTypeAttribute () | XmlTypeAttribute クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
XmlTypeAttribute (String) | XmlTypeAttribute クラスの新しいインスタンスを初期化し、XML 型の名前を指定します。 .NET Compact Framework によってサポートされています。 |
XmlTypeAttribute コンストラクタ ()
アセンブリ: System.Xml (system.xml.dll 内)
構文
使用例
XmlTypeAttribute クラスの 2 つのインスタンスを作成し、それらのインスタンスを使用して 2 つのクラスのシリアル化をオーバーライドする例を次に示します。
Imports System 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
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); } }
#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" ); }
import System.*; import System.IO.*; import System.Xml.Serialization.*; public class Person { public String personName; public Address address; } //Person public class Address { public String state; public String zip; } //Address public class PersonTypeAttribute { public static void main(String[] args) { PersonTypeAttribute myPersonTypeAttribute = new PersonTypeAttribute(); myPersonTypeAttribute.SerializeObject("XmlType.xml"); } //main public XmlSerializer CreateOverrider() { XmlAttributeOverrides personOverride = new XmlAttributeOverrides(); XmlAttributes personAttributes = new XmlAttributes(); XmlTypeAttribute personType = new XmlTypeAttribute(); personType.set_TypeName("Employee"); personType.set_Namespace("http://www.microsoft.com"); personAttributes.set_XmlType(personType); XmlAttributes addressAttributes = new XmlAttributes(); // Create 'XmlTypeAttribute' with 'TypeName' as an argument. XmlTypeAttribute addressType = new XmlTypeAttribute("Address"); addressType.set_Namespace("http://www.microsoft.com"); addressAttributes.set_XmlType(addressType); personOverride.Add(Person.class.ToType(), personAttributes); personOverride.Add(Address.class.ToType(), addressAttributes); XmlSerializer myXmlSerializer = new XmlSerializer(Person.class.ToType() , personOverride); return myXmlSerializer; } //CreateOverrider 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); } //SerializeObject } //PersonTypeAttribute
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- XmlTypeAttribute コンストラクタのページへのリンク