XmlAttributes.XmlIgnore-Eigenschaft
Ruft einen Wert ab, der angibt, ob XmlSerializer ein öffentliches Feld oder eine öffentliche Lese-/Schreibeigenschaft serialisiert, oder legt diesen fest.
Namespace: System.Xml.Serialization
Assembly: System.Xml (in system.xml.dll)
Syntax
'Declaration
Public Property XmlIgnore As Boolean
'Usage
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)
Eigenschaftenwert
true, wenn XmlSerializer das Feld oder die Eigenschaft nicht serialisieren soll, andernfalls false.
Hinweise
In der Standardeinstellung werden alle öffentlichen Felder und öffentlichen Lese-/Schreibeigenschaften von XmlSerializer serialisiert. Der Wert aller öffentlichen Felder bzw. Eigenschaften bleibt somit als XML-Element oder XML-Attribut in einer Instanz eines XML-Dokuments erhalten.
Erstellen Sie zum Überschreiben der Standardserialisierung eines Felds oder einer Eigenschaft ein XmlAttributes-Objekt, und legen Sie dessen XmlIgnore-Eigenschaft auf true fest. Fügen Sie das Objekt mit Add einem XmlAttributeOverrides-Objekt hinzu, und geben Sie dabei den Typ des Objekts, das das zu ignorierende Feld oder die Eigenschaft enthält, sowie den Namen des Felds oder der Eigenschaft an.
Ein Feld oder eine Eigenschaft, dem oder der ein XmlIgnoreAttribute zugewiesen ist, wird ignoriert. Dieses Verhalten lässt sich jedoch außer Kraft setzen, indem Sie ein XmlAttributes-Objekt erstellen, dessen XmlIgnore-Eigenschaft auf false festlegen und es dann einem XmlAttributeOverrides-Objekt hinzufügen. Dabei müssen Sie den Typ des Objekts angeben, das das Feld oder die Eigenschaft enthält, sowie den Namen des Felds oder der Eigenschaft.
Beispiel
Im folgenden Beispiel wird die Klasse Group serialisiert, die den Member Comment enthält. Diesem wird das XmlIgnoreAttribute zugewiesen. Es wird ein XmlAttributes-Objekt erstellt und die XmlIgnore-Eigenschaft auf false festgelegt, wodurch XmlIgnoreAttribute überschrieben wird.
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
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0
Siehe auch
Referenz
XmlAttributes-Klasse
XmlAttributes-Member
System.Xml.Serialization-Namespace
XmlIgnoreAttribute