IXmlSerializable Interfész
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egyéni formázást biztosít az XML-szerializáláshoz és a deszerializáláshoz.
public interface class IXmlSerializable
public interface IXmlSerializable
type IXmlSerializable = interface
Public Interface IXmlSerializable
- Származtatott
Példák
Az alábbi példakód egy IXmlSerializable magánmezőt szerializáló felület implementációját mutatja be.
using System;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;
public class Person : IXmlSerializable
{
// Private state
private string personName;
// Constructors
public Person (string name)
{
personName = name;
}
public Person ()
{
personName = null;
}
// Xml Serialization Infrastructure
public void WriteXml (XmlWriter writer)
{
writer.WriteString(personName);
}
public void ReadXml (XmlReader reader)
{
personName = reader.ReadString();
}
public XmlSchema GetSchema()
{
return(null);
}
// Print
public override string ToString()
{
return(personName);
}
}
Megjegyzések
Ennek a felületnek két oka van. Az első az objektum szerializálásának vagy deszerializálásának szabályozása a XmlSerializer. Az adatokat például bájtokra bonthatja a nagy adathalmazok pufferelése helyett, és elkerülheti az inflációt, amely akkor fordul elő, amikor az adatok Base64-kódolással lesznek kódolva. A szerializálás szabályozásához implementálja az WriteXmlReadXml XML olvasásához és írásához használt osztályokat és XmlWriter osztályokat és metódusokatXmlReader. Erre példa : Adattömb szerializált adatok.
A második ok a séma szabályozása. Ennek engedélyezéséhez alkalmaznia kell a XmlSchemaProviderAttribute szerializálható típust, és meg kell adnia annak a statikus tagnak a nevét, amely visszaadja a sémát. Tekintse meg a XmlSchemaProviderAttribute példát.
Az interfészt megvalósító osztálynak paraméter nélküli konstruktorsal kell rendelkeznie. Ez az osztály követelménye XmlSerializer .
Metódusok
| Name | Description |
|---|---|
| GetSchema() |
Ez a módszer fenntartott, és nem használható. A |
| ReadXml(XmlReader) |
Létrehoz egy objektumot az XML-reprezentációjából. |
| WriteXml(XmlWriter) |
Átalakítja az objektumot XML-reprezentációvá. |