XmlRootAttribute クラス
アセンブリ: System.Xml (system.xml.dll 内)

<AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Struct Or AttributeTargets.Enum Or AttributeTargets.Interface Or AttributeTargets.ReturnValue)> _ Public Class XmlRootAttribute Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Interface|AttributeTargets.ReturnValue)] public class XmlRootAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Struct|AttributeTargets::Enum|AttributeTargets::Interface|AttributeTargets::ReturnValue)] public ref class XmlRootAttribute : public Attribute

XmlRootAttribute は、XmlSerializer がオブジェクトをシリアル化または逆シリアル化する方法を制御する一連の属性の 1 つです。類似する属性の完全な一覧については、「XML シリアル化を制御する属性」を参照してください。
XmlRootAttribute は、クラス、構造体、列挙体、またはインターフェイスに適用できます。また、この属性は、XML Web サービス メソッドの戻り値にも適用できます。
すべての XML ドキュメントには、他のすべての要素を含むルート要素が 1 つ必要です。XmlRootAttribute を使用すると、XmlSerializer がルート要素を生成する方法を、特定のプロパティを設定することによって制御できます。たとえば、ElementName プロパティを設定することにより、生成される XML 要素の名前を指定します。
属性の使用方法については、「属性を使用したメタデータの拡張」を参照してください。
![]() |
---|

XmlRootAttribute をクラスに適用する例を次に示します。この属性は、要素名と名前空間を指定し、要素を修飾するかどうか、およびクラスが null 参照 (Visual Basic では Nothing) に設定されている場合に xsi:nil 属性を生成するかどうかを指定します。
Imports System Imports System.IO Imports System.Xml Imports System.Xml.Schema Imports System.Xml.Serialization <XmlRoot(Namespace:="www.contoso.com", _ ElementName:="MyGroupName", _ DataType:="string", _ IsNullable:=True)> _ Public Class Group Private groupNameValue As String ' Insert code for the Group class. Public Sub New() End Sub Public Sub New(ByVal groupNameVal As String) groupNameValue = groupNameVal End Sub Property GroupName() As String Get Return groupNameValue End Get Set(ByVal Value As String) groupNameValue = Value End Set End Property End Class Public Class Test Shared Sub Main() Dim t As Test = New Test() t.SerializeGroup() End Sub Private Sub SerializeGroup() ' Create an instance of the Group class, and an ' instance of the XmlSerializer to serialize it. Dim myGroup As Group = New Group("Redmond") Dim ser As XmlSerializer = New XmlSerializer(GetType(Group)) ' A FileStream is used to write the file. Dim fs As FileStream = New FileStream("group.xml", FileMode.Create) ser.Serialize(fs, myGroup) fs.Close() Console.WriteLine(myGroup.GroupName) Console.WriteLine("Done... Press any key to exit.") Console.ReadLine() End Sub End Class
using System; using System.IO; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization; [XmlRoot(Namespace = "www.contoso.com", ElementName = "MyGroupName", DataType = "string", IsNullable=true)] public class Group { private string groupNameValue; // Insert code for the Group class. public Group() { } public Group(string groupNameVal) { groupNameValue = groupNameVal; } public string GroupName { get{return groupNameValue;} set{groupNameValue = value;} } } public class Test { static void Main() { Test t = new Test(); t.SerializeGroup(); } private void SerializeGroup() { // Create an instance of the Group class, and an // instance of the XmlSerializer to serialize it. Group myGroup = new Group("Redmond"); XmlSerializer ser = new XmlSerializer(typeof(Group)); // A FileStream is used to write the file. FileStream fs = new FileStream("group.xml",FileMode.Create); ser.Serialize(fs,myGroup); fs.Close(); Console.WriteLine(myGroup.GroupName); Console.WriteLine("Done"); Console.ReadLine(); } }
#using <System.Xml.dll> #using <System.dll> using namespace System; using namespace System::IO; using namespace System::Xml; using namespace System::Xml::Schema; using namespace System::Xml::Serialization; [XmlRoot(Namespace="www.contoso.com", ElementName="MyGroupName", DataType="string", IsNullable=true)] public ref class Group { private: String^ groupNameValue; public: // Insert code for the Group class. Group(){} Group( String^ groupNameVal ) { groupNameValue = groupNameVal; } property String^ GroupName { String^ get() { return groupNameValue; } void set( String^ value ) { groupNameValue = value; } } }; void SerializeGroup() { // Create an instance of the Group class, and an // instance of the XmlSerializer to serialize it. Group^ myGroup = gcnew Group( "Redmond" ); XmlSerializer^ ser = gcnew XmlSerializer( Group::typeid ); // A FileStream is used to write the file. FileStream^ fs = gcnew FileStream( "group.xml",FileMode::Create ); ser->Serialize( fs, myGroup ); fs->Close(); Console::WriteLine( myGroup->GroupName ); Console::WriteLine( "Done" ); Console::ReadLine(); } int main() { SerializeGroup(); }
import System.*; import System.IO.*; import System.Xml.*; import System.Xml.Schema.*; import System.Xml.Serialization.*; /** @attribute XmlRoot(Namespace = "www.contoso.com", ElementName = "MyGroupName" , DataType = "string", IsNullable = true) */ public class Group { private String groupNameValue; // Insert code for the Group class. public Group() { } //Group public Group(String groupNameVal) { groupNameValue = groupNameVal; } //Group /** @property */ public String get_GroupName() { return groupNameValue; } //get_GroupName /** @property */ public void set_GroupName(String value) { groupNameValue = value; } //set_GroupName } //Group public class Test { public static void main(String[] args) { Test t = new Test(); t.SerializeGroup(); } //main private void SerializeGroup() { // Create an instance of the Group class, and an // instance of the XmlSerializer to serialize it. Group myGroup = new Group("Redmond"); XmlSerializer ser = new XmlSerializer(Group.class.ToType()); // A FileStream is used to write the file. FileStream fs = new FileStream("group.xml", FileMode.Create); ser.Serialize(fs, myGroup); fs.Close(); Console.WriteLine(myGroup.get_GroupName()); Console.WriteLine("Done"); Console.ReadLine(); } //SerializeGroup } //Test

System.Attribute
System.Xml.Serialization.XmlRootAttribute


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlRootAttribute コンストラクタ ()
アセンブリ: System.Xml (system.xml.dll 内)


この例では、XmlRootAttribute のインスタンスを作成し、そのインスタンスを XmlAttributes オブジェクトの XmlRoot プロパティに割り当てています。XmlSerializer は、MyClass オブジェクトをシリアル化するときに、XmlRootAttribute オブジェクトを使用して既定のルート要素をオーバーライドします。
Imports System Imports System.IO Imports System.Xml.Serialization ' This is the class that is the default root element. Public Class MyClass1 Public Name As String End Class Public Class Run Public Shared Sub Main() Dim test As New Run() test.SerializeOrder("OverrideAttribute.xml") End Sub Public Sub SerializeOrder(ByVal filename As String) ' Create an XmlSerializer instance using the method below. Dim xSer As XmlSerializer = CreateOverrider() ' Create the object, and set its Name property. Dim class1 As New MyClass1() class1.Name = "New Class Name" ' Serialize the class, and close the TextWriter. Dim writer As New StreamWriter(filename) xSer.Serialize(writer, class1) writer.Close() End Sub 'SerializeOrder ' Return an XmlSerializer to override the root serialization. Public Function CreateOverrider() As XmlSerializer ' Create an XmlAttributes to override the default root element. Dim attrs As New XmlAttributes() ' Create an XmlRootAttribute and set its element name and namespace. Dim xRoot As New XmlRootAttribute() xRoot.ElementName = "OverriddenRootElementName" xRoot.Namespace = "http://www.microsoft.com" ' Set the XmlRoot property to the XmlRoot object. attrs.XmlRoot = xRoot Dim xOver As New XmlAttributeOverrides() ' Add the XmlAttributes object to the ' XmlAttributeOverrides object. xOver.Add(GetType(MyClass1), attrs) ' Create the Serializer, and return it. Dim xSer As New XmlSerializer(GetType(MyClass1), xOver) Return xSer End Function End Class
using System; using System.IO; using System.Xml.Serialization; // This is the class that is the default root element. public class MyClass { public string Name; } public class Run { public static void Main() { Run test = new Run(); test.SerializeOrder("OverrideAttribute.xml"); } public void SerializeOrder(string filename) { // Create an XmlSerializer instance using the method below. XmlSerializer xSer = CreateOverrider(); // Create the object, and set its Name property. MyClass myClass = new MyClass(); myClass.Name = "New Class Name"; // Serialize the class, and close the TextWriter. TextWriter writer = new StreamWriter(filename); xSer.Serialize(writer, myClass); writer.Close(); } // Return an XmlSerializer to override the root serialization. public XmlSerializer CreateOverrider() { // Create an XmlAttributes to override the default root element. XmlAttributes attrs = new XmlAttributes(); // Create an XmlRootAttribute and set its element name and namespace. XmlRootAttribute xRoot = new XmlRootAttribute(); xRoot.ElementName = "OverriddenRootElementName"; xRoot.Namespace = "http://www.microsoft.com"; // Set the XmlRoot property to the XmlRoot object. attrs.XmlRoot = xRoot; XmlAttributeOverrides xOver = new XmlAttributeOverrides(); /* Add the XmlAttributes object to the XmlAttributeOverrides object. */ xOver.Add(typeof(MyClass), attrs); // Create the Serializer, and return it. XmlSerializer xSer = new XmlSerializer (typeof(MyClass), xOver); return xSer; } }
#using <System.Xml.dll> #using <System.dll> using namespace System; using namespace System::IO; using namespace System::Xml::Serialization; // This is the class that is the default root element. public ref class MyClass { public: String^ Name; }; XmlSerializer^ CreateOverrider(); void SerializeOrder( String^ filename ) { // Create an XmlSerializer instance using the method below. XmlSerializer^ xSer = CreateOverrider(); // Create the object, and set its Name property. MyClass^ myClass = gcnew MyClass; myClass->Name = "New Class Name"; // Serialize the class, and close the TextWriter. TextWriter^ writer = gcnew StreamWriter( filename ); xSer->Serialize( writer, myClass ); writer->Close(); } // Return an XmlSerializer to override the root serialization. XmlSerializer^ CreateOverrider() { // Create an XmlAttributes to override the default root element. XmlAttributes^ attrs = gcnew XmlAttributes; // Create an XmlRootAttribute and set its element name and namespace. XmlRootAttribute^ xRoot = gcnew XmlRootAttribute; xRoot->ElementName = "OverriddenRootElementName"; xRoot->Namespace = "http://www.microsoft.com"; // Set the XmlRoot property to the XmlRoot object. attrs->XmlRoot = xRoot; XmlAttributeOverrides^ xOver = gcnew XmlAttributeOverrides; /* Add the XmlAttributes object to the XmlAttributeOverrides object. */ xOver->Add( MyClass::typeid, attrs ); // Create the Serializer, and return it. XmlSerializer^ xSer = gcnew XmlSerializer( MyClass::typeid,xOver ); return xSer; } int main() { SerializeOrder( "OverrideAttribute.xml" ); }
import System.*; import System.IO.*; import System.Xml.Serialization.*; // This is the class that is the default root element. public class MyClass { public String name; } //MyClass public class Run { public static void main(String[] args) { Run test = new Run(); test.SerializeOrder("OverrideAttribute.xml"); } //main public void SerializeOrder(String fileName) { // Create an XmlSerializer instance using the method below. XmlSerializer xSer = CreateOverrider(); // Create the object, and set its Name property. MyClass myClass = new MyClass(); myClass.name = "New Class Name"; // Serialize the class, and close the TextWriter. TextWriter writer = new StreamWriter(fileName); xSer.Serialize(writer, myClass); writer.Close(); } //SerializeOrder // Return an XmlSerializer to override the root serialization. public XmlSerializer CreateOverrider() { // Create an XmlAttributes to override the default root element. XmlAttributes attrs = new XmlAttributes(); // Create an XmlRootAttribute and set its element name and namespace. XmlRootAttribute xRoot = new XmlRootAttribute(); xRoot.set_ElementName("OverriddenRootElementName"); xRoot.set_Namespace("http://www.microsoft.com"); // Set the XmlRoot property to the XmlRoot object. attrs.set_XmlRoot(xRoot); XmlAttributeOverrides xOver = new XmlAttributeOverrides(); /* Add the XmlAttributes object to the XmlAttributeOverrides object. */ xOver.Add(MyClass.class.ToType(), attrs); // Create the Serializer, and return it. XmlSerializer xSer = new XmlSerializer(MyClass.class.ToType(), xOver); return xSer; } //CreateOverrider } //Run

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlRootAttribute コンストラクタ (String)
アセンブリ: System.Xml (system.xml.dll 内)


次の例では、XmlRootAttribute のインスタンスを作成し、そのインスタンスを使用して、"Student" というクラスのインスタンスのシリアル化をオーバーライドします。
Public Sub SerializeOrder(filename As String) ' Create an XmlSerializer instance using the method below. Dim myXmlSerializer As XmlSerializer = CreateOverrider() ' Create the object, and set its Name property. Dim myStudent As New Student() myStudent.Name = "Student class1" ' Serialize the class, and close the TextWriter. Dim writer = New StreamWriter(filename) myXmlSerializer.Serialize(writer, myStudent) writer.Close() End Sub ' Return an XmlSerializer to override the root serialization. Public Function CreateOverrider() As XmlSerializer ' Create an XmlAttributes to override the default root element. Dim myXmlAttributes As New XmlAttributes() ' Create an XmlRootAttribute overloaded constructer and set its namespace. Dim myXmlRootAttribute As New XmlRootAttribute("OverriddenRootElementName") myXmlRootAttribute.Namespace = "http://www.microsoft.com" ' Set the XmlRoot property to the XmlRoot object. myXmlAttributes.XmlRoot = myXmlRootAttribute Dim myXmlAttributeOverrides As New XmlAttributeOverrides() ' Add the XmlAttributes object to the XmlAttributeOverrides object. myXmlAttributeOverrides.Add(GetType(Student), myXmlAttributes) ' Create the Serializer, and return it. Dim myXmlSerializer As New XmlSerializer(GetType(Student), myXmlAttributeOverrides) Return myXmlSerializer End Function
public void SerializeOrder(string filename) { // Create an XmlSerializer instance using the method below. XmlSerializer myXmlSerializer = CreateOverrider(); // Create the object, and set its Name property. Student myStudent = new Student(); myStudent.Name = "Student class1"; // Serialize the class, and close the TextWriter. TextWriter writer = new StreamWriter(filename); myXmlSerializer.Serialize(writer, myStudent); writer.Close(); } // Return an XmlSerializer to override the root serialization. public XmlSerializer CreateOverrider() { // Create an XmlAttributes to override the default root element. XmlAttributes myXmlAttributes = new XmlAttributes(); // Create an XmlRootAttribute overloaded constructer //and set its namespace. XmlRootAttribute myXmlRootAttribute = new XmlRootAttribute("OverriddenRootElementName"); myXmlRootAttribute.Namespace = "http://www.microsoft.com"; // Set the XmlRoot property to the XmlRoot object. myXmlAttributes.XmlRoot = myXmlRootAttribute; XmlAttributeOverrides myXmlAttributeOverrides = new XmlAttributeOverrides(); /* Add the XmlAttributes object to the XmlAttributeOverrides object. */ myXmlAttributeOverrides.Add(typeof(Student), myXmlAttributes); // Create the Serializer, and return it. XmlSerializer myXmlSerializer = new XmlSerializer (typeof(Student), myXmlAttributeOverrides); return myXmlSerializer; }
public: void SerializeOrder( String^ filename ) { // Create an XmlSerializer instance using the method below. XmlSerializer^ myXmlSerializer = CreateOverrider(); // Create the object, and set its Name property. Student^ myStudent = gcnew Student; myStudent->Name = "Student class1"; // Serialize the class, and close the TextWriter. TextWriter^ writer = gcnew StreamWriter( filename ); myXmlSerializer->Serialize( writer, myStudent ); writer->Close(); } // Return an XmlSerializer to the root serialization. XmlSerializer^ CreateOverrider() { // Create an XmlAttributes to the default root element. XmlAttributes^ myXmlAttributes = gcnew XmlAttributes; // Create an XmlRootAttribute overloaded constructer // and set its namespace. XmlRootAttribute^ myXmlRootAttribute = gcnew XmlRootAttribute( "OverriddenRootElementName" ); myXmlRootAttribute->Namespace = "http://www.microsoft.com"; // Set the XmlRoot property to the XmlRoot object. myXmlAttributes->XmlRoot = myXmlRootAttribute; XmlAttributeOverrides^ myXmlAttributeOverrides = gcnew XmlAttributeOverrides; // Add the XmlAttributes object to the XmlAttributeOverrides object myXmlAttributeOverrides->Add( Student::typeid, myXmlAttributes ); // Create the Serializer, and return it. XmlSerializer^ myXmlSerializer = gcnew XmlSerializer( Student::typeid, myXmlAttributeOverrides ); return myXmlSerializer; }
public void SerializeOrder(String fileName) { // Create an XmlSerializer instance using the method below. XmlSerializer myXmlSerializer = CreateOverrider(); // Create the object, and set its name property. Student myStudent = new Student(); myStudent.name = "Student class1"; // Serialize the class, and close the TextWriter. TextWriter writer = new StreamWriter(fileName); myXmlSerializer.Serialize(writer, myStudent); writer.Close(); } //SerializeOrder // Return an XmlSerializer to override the root serialization. public XmlSerializer CreateOverrider() { // Create an XmlAttributes to override the default root element. XmlAttributes myXmlAttributes = new XmlAttributes(); // Create an XmlRootAttribute overloaded constructer //and set its namespace. XmlRootAttribute myXmlRootAttribute = new XmlRootAttribute( "OverriddenRootElementName"); myXmlRootAttribute.set_Namespace("http://www.microsoft.com"); // Set the XmlRoot property to the XmlRoot object. myXmlAttributes.set_XmlRoot(myXmlRootAttribute); XmlAttributeOverrides myXmlAttributeOverrides = new XmlAttributeOverrides(); /* Add the XmlAttributes object to the XmlAttributeOverrides object. */ myXmlAttributeOverrides.Add(Student.class.ToType(), myXmlAttributes); // Create the Serializer, and return it. XmlSerializer myXmlSerializer = new XmlSerializer( Student.class.ToType(), myXmlAttributeOverrides); return myXmlSerializer; } //CreateOverrider

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlRootAttribute コンストラクタ

名前 | 説明 |
---|---|
XmlRootAttribute () | XmlRootAttribute クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
XmlRootAttribute (String) | XmlRootAttribute クラスの新しいインスタンスを初期化し、XML ルート要素の名前を指定します。 .NET Compact Framework によってサポートされています。 |

XmlRootAttribute プロパティ
XmlRootAttribute メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 ( Attribute から継承されます。) |
![]() | GetCustomAttribute | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 ( Attribute から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 ( Attribute から継承されます。) |
![]() | GetHashCode | このインスタンスのハッシュ コードを返します。 ( Attribute から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | IsDefaultAttribute | 派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 ( Attribute から継承されます。) |
![]() | IsDefined | オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 ( Attribute から継承されます。) |
![]() | Match | 派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 ( Attribute から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

XmlRootAttribute メンバ
属性ターゲットを XML ルート要素として XML シリアル化する方法を制御します。
XmlRootAttribute データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | XmlRootAttribute | オーバーロードされます。 XmlRootAttribute クラスの新しいインスタンスを初期化し、そのクラス名を XML ルート要素の名前として使用します。 |


名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 ( Attribute から継承されます。) |
![]() | GetCustomAttribute | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 (Attribute から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 (Attribute から継承されます。) |
![]() | GetHashCode | このインスタンスのハッシュ コードを返します。 (Attribute から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | IsDefaultAttribute | 派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 (Attribute から継承されます。) |
![]() | IsDefined | オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 (Attribute から継承されます。) |
![]() | Match | 派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (Attribute から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- XmlRootAttributeのページへのリンク