IXmlSerializable.WriteXml(XmlWriter) Método

Definição

Converte um objeto em sua representação XML.Converts an object into its XML representation.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer);
public void WriteXml (System.Xml.XmlWriter writer);
abstract member WriteXml : System.Xml.XmlWriter -> unit
Public Sub WriteXml (writer As XmlWriter)

Parâmetros

writer
XmlWriter

O fluxo XmlWriter para o qual o objeto é serializado.The XmlWriter stream to which the object is serialized.

Exemplos

O exemplo a seguir ilustra uma implementação do método WriteXml.The following example illustrates an implementation of the WriteXml method.

virtual void WriteXml( XmlWriter^ writer )
{
   writer->WriteString( personName );
}
public void WriteXml (XmlWriter writer)
{
    writer.WriteString(personName);
}

O exemplo a seguir ilustra o uso da classe XmlSerializer para desserializar esse objeto.The following example illustrates the use of the XmlSerializer class to deserialize this object.

#using <System.Xml.dll>
#using <System.dll>
#using <Person.dll>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Serialization;

int main()
{
   // Create a person object.
   Person ^ fred = gcnew Person( "Fred Flintstone" );

   // Serialize the object to a file.
   XmlTextWriter^ writer = gcnew XmlTextWriter( "test.xml", nullptr );
   XmlSerializer^ serializer = gcnew XmlSerializer( Person::typeid );
   serializer->Serialize( writer, fred );
}
using System;
using System.Xml;
using System.Xml.Serialization;

public class Writer {

  public static void Main() {

    // Create a person object.
    Person fred = new Person("Fred Flintstone");

    // Serialize the object to a file.
    XmlTextWriter writer = new XmlTextWriter("test.xml", null);
    XmlSerializer serializer = new XmlSerializer(typeof(Person));
    serializer.Serialize(writer, fred);
  }
}

Comentários

A implementação de WriteXml que você fornece deve gravar a representação XML do objeto.The WriteXml implementation you provide should write out the XML representation of the object. A estrutura grava um elemento wrapper e posiciona o gravador XML após seu início.The framework writes a wrapper element and positions the XML writer after its start. Sua implementação pode gravar seu conteúdo, incluindo elementos filho.Your implementation may write its contents, including child elements. Em seguida, a estrutura fecha o elemento wrapper.The framework then closes the wrapper element.

Grave informações suficientes no fluxo de XmlWriter para permitir que o método ReadXml reconstituir o objeto.Write sufficient information to the XmlWriter stream to allow the ReadXml method to reconstitute your object.

Por exemplo, se o estado do objeto incluir uma variável de matriz, certifique-se de gravar o comprimento da matriz ou use um elemento pai para conter os elementos que descrevem os valores da matriz, para que você saiba quantos valores serão lidos quando o objeto for reconstituído.For example, if your object state includes an array variable, be sure to write the length of the array, or use a parent element to contain the elements that describe the array values, so that you know how many values to read when the object is reconstituted.

Aplica-se a