Olá. Poderia explanar sobre a função de cada classe no código do método ToXml da classe Carrinho? - XmlSerializer -StringWriter -XmlWriter
Olá. Poderia explanar sobre a função de cada classe no código do método ToXml da classe Carrinho? - XmlSerializer -StringWriter -XmlWriter
Olá Ricardo,
public string ToXml()
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(Carrinho));
StringWriter stringWriter = new StringWriter();
using(XmlWriter writer = XmlWriter.Create(stringWriter))
{
xmlSerializer.Serialize(writer, this);
return stringWriter.ToString();
}
}
Neste código a classe XmlSerializer
é responsável por fazer a serialização dos dados do objeto carrinho
, ou seja, vai transformá-lo no xml.
Já a classe XmlWriter
é a classe que escreve o Xml propriamente dito e a classe StringWriter
monta o texto a ser escrito.
Cada classe faz uma pequena parte do processo.
Abraço!
public string ToXml()
{
XmlSerializer iniciaXml = new XmlSerializer(typeof(Carrinho));
StringWriter escreveXml = new StringWriter();
using(XmlWriter escreve = XmlWriter.Create(escreveXml))
{
iniciaXml.Serialize(escreve, this);
return escreveXml.ToString();
}
}
Vamos iniciar o XML dentro do carrinho com o iniciaXml, em seguida, vamos permitir que ele faça a escrita do XML com o escreveXml. Vamos usar(using) o XmlWriter para criar o escreveXml. Então, quero iniciar a escrita do XML, com o iniciaXml para que ele escreva (escreve,) o XML dentro deste Carrinho (this) e que retorne(return) os dados escritos como .ToString em (escreve.Xml)