XmlAttributes.XmlIgnore 속성
XmlSerializer가 공용 필드 또는 읽기/쓰기 속성을 serialize하는지 여부를 지정하는 값을 가져오거나 설정합니다.
네임스페이스: System.Xml.Serialization
어셈블리: System.Xml(system.xml.dll)
구문
‘선언
Public Property XmlIgnore As Boolean
‘사용 방법
Dim instance As XmlAttributes
Dim value As Boolean
value = instance.XmlIgnore
instance.XmlIgnore = value
public bool XmlIgnore { get; set; }
public:
property bool XmlIgnore {
bool get ();
void set (bool value);
}
/** @property */
public boolean get_XmlIgnore ()
/** @property */
public void set_XmlIgnore (boolean value)
public function get XmlIgnore () : boolean
public function set XmlIgnore (value : boolean)
속성 값
XmlSerializer가 필드 또는 속성을 serialize하지 않으면 true이고, 그렇지 않으면 false입니다.
설명
기본적으로, 모든 공용 필드 및 공용 읽기/쓰기 속성은 XmlSerializer를 통해 serialize됩니다. 즉, 각 공용 필드 또는 속성 값은 XML 문서 인스턴스에서 XML 요소 또는 XML 특성으로 유지됩니다.
필드 또는 속성의 기본 serialization을 재정의하려면 XmlAttributes 개체를 만들어 XmlIgnore 속성을 true로 설정합니다. 그런 다음 그 개체를 XmlAttributeOverrides 개체에 Add한 후, 무시할 필드 또는 속성이 포함된 개체의 형식을 지정하고, 무시할 필드 또는 속성의 이름을 지정합니다.
필드 또는 속성에 XmlIgnoreAttribute가 적용되면 해당 필드 또는 속성이 무시됩니다. 그러나 XmlAttributes 개체를 만들어 XmlIgnore 속성을 false로 설정하고, 이 개체를 XmlAttributeOverrides 개체에 추가한 다음 필드 또는 속성이 들어 있는 개체의 형식을 지정하고, 필드 또는 속성의 이름을 지정하여 이러한 동작을 재정의할 수 있습니다.
예제
다음 예제에서는 XmlIgnoreAttribute가 적용되는 Comment 멤버를 포함하는 Group 클래스를 serialize합니다. 이 예제에서는 XmlAttributes 개체를 만들고 XmlIgnore 속성을 false으로 설정하여 XmlIgnoreAttribute를 재정의합니다.
Imports System
Imports System.IO
Imports System.Xml.Serialization
' This is the class that will be serialized.
Public Class Group
' The GroupName value will be serialized--unless it's overridden.
Public GroupName As String
' This field will be ignored when serialized--
' unless it's overridden.
<XmlIgnoreAttribute()> Public Comment As String
End Class
Public Class Test
Public Shared Sub Main()
Dim t As New Test()
t.SerializeObject("IgnoreXml.xml")
End Sub
' Return an XmlSerializer used for overriding.
Public Function CreateOverrider() As XmlSerializer
' Create the XmlAttributeOverrides and XmlAttributes objects.
Dim xOver As New XmlAttributeOverrides()
Dim attrs As New XmlAttributes()
' Setting XmlIgnore to false overrides the XmlIgnoreAttribute
' applied to the Comment field. Thus it will be serialized.
attrs.XmlIgnore = False
xOver.Add(GetType(Group), "Comment", attrs)
' Use the XmlIgnore to instruct the XmlSerializer to ignore
' the GroupName instead.
attrs = New XmlAttributes()
attrs.XmlIgnore = True
xOver.Add(GetType(Group), "GroupName", attrs)
Dim xSer As New XmlSerializer(GetType(Group), xOver)
Return xSer
End Function
Public Sub SerializeObject(ByVal filename As String)
' Create an XmlSerializer instance.
Dim xSer As XmlSerializer = CreateOverrider()
' Create the object to serialize and set its properties.
Dim myGroup As New Group()
myGroup.GroupName = ".NET"
myGroup.Comment = "My Comment..."
' Writing the file requires a TextWriter.
Dim writer As New StreamWriter(filename)
' Serialize the object and close the TextWriter.
xSer.Serialize(writer, myGroup)
writer.Close()
End Sub
End Class
using System;
using System.IO;
using System.Xml.Serialization;
// This is the class that will be serialized.
public class Group
{
// The GroupName value will be serialized--unless it's overridden.
public string GroupName;
/* This field will be ignored when serialized--
unless it's overridden. */
[XmlIgnoreAttribute]
public string Comment;
}
public class Test
{
public static void Main()
{
Test t = new Test();
t.SerializeObject("IgnoreXml.xml");
}
// Return an XmlSerializer used for overriding.
public XmlSerializer CreateOverrider()
{
// Create the XmlAttributeOverrides and XmlAttributes objects.
XmlAttributeOverrides xOver = new XmlAttributeOverrides();
XmlAttributes attrs = new XmlAttributes();
/* Setting XmlIgnore to false overrides the XmlIgnoreAttribute
applied to the Comment field. Thus it will be serialized.*/
attrs.XmlIgnore = false;
xOver.Add(typeof(Group), "Comment", attrs);
/* Use the XmlIgnore to instruct the XmlSerializer to ignore
the GroupName instead. */
attrs = new XmlAttributes();
attrs.XmlIgnore = true;
xOver.Add(typeof(Group), "GroupName", attrs);
XmlSerializer xSer = new XmlSerializer(typeof(Group), xOver);
return xSer;
}
public void SerializeObject(string filename)
{
// Create an XmlSerializer instance.
XmlSerializer xSer = CreateOverrider();
// Create the object to serialize and set its properties.
Group myGroup = new Group();
myGroup.GroupName = ".NET";
myGroup.Comment = "My Comment...";
// Writing the file requires a TextWriter.
TextWriter writer = new StreamWriter(filename);
// Serialize the object and close the TextWriter.
xSer.Serialize(writer, myGroup);
writer.Close();
}
}
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml::Serialization;
// This is the class that will be serialized.
public ref class Group
{
public:
// The GroupName value will be serialized--unless it's overridden.
String^ GroupName;
/* This field will be ignored when serialized--
unless it's overridden. */
[XmlIgnoreAttribute]
String^ Comment;
};
// Return an XmlSerializer used for overriding.
XmlSerializer^ CreateOverrider()
{
// Create the XmlAttributeOverrides and XmlAttributes objects.
XmlAttributeOverrides^ xOver = gcnew XmlAttributeOverrides;
XmlAttributes^ attrs = gcnew XmlAttributes;
/* Setting XmlIgnore to false overrides the XmlIgnoreAttribute
applied to the Comment field. Thus it will be serialized.*/
attrs->XmlIgnore = false;
xOver->Add( Group::typeid, "Comment", attrs );
/* Use the XmlIgnore to instruct the XmlSerializer to ignore
the GroupName instead. */
attrs = gcnew XmlAttributes;
attrs->XmlIgnore = true;
xOver->Add( Group::typeid, "GroupName", attrs );
XmlSerializer^ xSer = gcnew XmlSerializer( Group::typeid,xOver );
return xSer;
}
void SerializeObject( String^ filename )
{
// Create an XmlSerializer instance.
XmlSerializer^ xSer = CreateOverrider();
// Create the object to serialize and set its properties.
Group^ myGroup = gcnew Group;
myGroup->GroupName = ".NET";
myGroup->Comment = "My Comment...";
// Writing the file requires a TextWriter.
TextWriter^ writer = gcnew StreamWriter( filename );
// Serialize the object and close the TextWriter.
xSer->Serialize( writer, myGroup );
writer->Close();
}
int main()
{
SerializeObject( "IgnoreXml.xml" );
}
import System.*;
import System.IO.*;
import System.Xml.Serialization.*;
// This is the class that will be serialized.
public class Group
{
// The GroupName value will be serialized--unless it's overridden.
public String groupName;
/* This field will be ignored when serialized--
unless it's overridden. */
/** @attribute XmlIgnoreAttribute()
*/
public String comment;
} //Group
public class Test
{
public static void main(String[] args)
{
Test t = new Test();
t.SerializeObject("IgnoreXml.xml");
} //main
// Return an XmlSerializer used for overriding.
public XmlSerializer CreateOverrider()
{
// Create the XmlAttributeOverrides and XmlAttributes objects.
XmlAttributeOverrides xOver = new XmlAttributeOverrides();
XmlAttributes attrs = new XmlAttributes();
/* Setting XmlIgnore to false overrides the XmlIgnoreAttribute
applied to the Comment field. Thus it will be serialized.*/
attrs.set_XmlIgnore(false);
xOver.Add(Group.class.ToType(), "Comment", attrs);
/* Use the XmlIgnore to instruct the XmlSerializer to ignore
the GroupName instead. */
attrs = new XmlAttributes();
attrs.set_XmlIgnore(true);
xOver.Add(Group.class.ToType(), "GroupName", attrs);
XmlSerializer xSer = new XmlSerializer(Group.class.ToType(), xOver);
return xSer;
} //CreateOverrider
public void SerializeObject(String fileName)
{
// Create an XmlSerializer instance.
XmlSerializer xSer = CreateOverrider();
// Create the object to serialize and set its properties.
Group myGroup = new Group();
myGroup.groupName = ".NET";
myGroup.comment = "My Comment...";
// Writing the file requires a TextWriter.
TextWriter writer = new StreamWriter(fileName);
// Serialize the object and close the TextWriter.
xSer.Serialize(writer, myGroup);
writer.Close();
} //SerializeObject
} //Test
플랫폼
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에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원
.NET Compact Framework
2.0에서 지원
참고 항목
참조
XmlAttributes 클래스
XmlAttributes 멤버
System.Xml.Serialization 네임스페이스
XmlIgnoreAttribute