XmlRootAttribute 클래스
특성 대상의 XML serialization을 XML 루트 요소로 제어합니다.
네임스페이스: System.Xml.Serialization
어셈블리: 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
‘사용 방법
Dim instance As XmlRootAttribute
[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
/** @attribute AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Interface|AttributeTargets.ReturnValue) */
public class XmlRootAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Interface|AttributeTargets.ReturnValue)
public class XmlRootAttribute extends Attribute
XmlSerializer가 개체를 serialize 및 deserialize하는 방식을 제어하는 특성 패밀리에 속한 XmlRootAttribute입니다. 유사한 특성에 대한 전체 목록은 XML Serialization을 제어하는 특성을 참조하십시오.
XmlRootAttribute를 클래스, 구조체, 열거형 또는 인터페이스 선언에 적용할 수 있습니다. 이 특성을 XML Web services 메서드의 반환 값에도 적용할 수 있습니다.
모든 XML 문서에는 다른 모든 요소를 포함하는 단일 루트 요소가 있어야 합니다. XmlRootAttribute를 사용하면 특정 속성을 설정하여 XmlSerializer가 루트 요소를 생성하는 방식을 제어할 수 있습니다. 예를 들어, ElementName 속성을 설정하여 생성된 XML 요소의 이름을 지정합니다.
특성 사용에 대한 자세한 내용은 특성을 사용하여 메타데이터 확장을 참조하십시오.
참고
긴 XmlRootAttribute 대신 XmlRoot라는 단어를 코드에서 사용할 수 있습니다.
다음 예제에서는 클래스에 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.Object
System.Attribute
System.Xml.Serialization.XmlRootAttribute
이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
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에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
2.0, 1.1, 1.0에서 지원
2.0, 1.0에서 지원
XmlRootAttribute 멤버
System.Xml.Serialization 네임스페이스
XmlArrayAttribute 클래스
XmlElementAttribute 클래스
XmlSerializer
XmlAttributes 클래스
XML Serialization 소개
방법: XML 스트림의 대체 요소 이름 지정
특성을 사용하여 XML Serialization 제어
XML Serialization 예
XML 스키마 정의 도구(Xsd.exe)