.NET Framework Class Library
XmlRootAttribute Constructor
Initializes a new instance of the XmlRootAttribute class.
Assembly: System.Xml (in System.Xml.dll)
Syntax
Visual Basic
Public Sub New
C#
public XmlRootAttribute()
Visual C++
public:
XmlRootAttribute()
F#
new : unit -> XmlRootAttribute
Examples
The following example creates an instance of an XmlRootAttribute and assigns it to the XmlRoot property of an XmlAttributes object. When the XmlSerializer serializes the MyClass object, it uses the XmlRootAttribute object to override the default root element.
Visual Basic
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
C#
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; } }
Visual C++
#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" ); }
Version Information
.NET Framework
Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Supported in: 4, 3.5 SP1Portable Class Library
Supported in: Portable Class LibraryPlatforms
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
See Also