LAYERDEV

 Busca Online:

 
Seja bem vindo(a) Visitante, você não está logado deseja logar
no portal para participar de serviços e promoções ? clique aqui.


No caso de perder a senha, acesse aqui e receba por e-mail.
Deseja entrar em contato conosco, acesse aqui e mande-nos um e-mail.

Como criar facilmente arquivos XML via código

por Fabio Aguiar em 31/10/2006

Olá amigos,

andei meio sumido, pois estou muito atarefado com novos projetos e novas ferramentas, e não tive oportunidade de escrever o artigo da semana passada, mas estamos de volta. Essa semana quero mostrar como gerar um XML de uma forma bem simples, e gravar o resultado em um arquivo, ou mostrar no próprio browser.

O código abaixo foi feito em .NET 2.0

Pra começar, vamos criar um XmlWriterSettings para configurar nosso XML:

Dim settings As New XmlWriterSettings

settings.Indent = True

settings.IndentChars = " "

settings.NewLineOnAttributes = False

settings.OmitXmlDeclaration = False


Agora criamos um StringBuilder e um XMLWriter:

Dim sb As New StringBuilder

Dim tw As XmlWriter = XmlWriter.Create(sb, settings)

Em seguida, vamos gravar os dados:

  

With tw

.WriteStartDocument()

.WriteStartElement("produtos")

.WriteStartElement("produto")

.WriteAttributeString("id", "1")

.WriteElementString("descricao", "Papel sulfite")

.WriteElementString("categoria", "Papeis")

.WriteElementString("preco", "199.99")

.WriteElementString("unidade", "pct")

.WriteElementString("quantidade", "1")

.WriteStartElement("estoque")

.WriteElementString("unidade", "pct")

.WriteStartElement("loja")

.WriteAttributeString("nome", "matriz")

.WriteString("10")

.WriteEndElement() 'loja

.WriteElementString("almoxarifado", "18")

.WriteEndElement() 'estoque

.WriteEndElement() 'produto

.WriteStartElement("produto")

.WriteAttributeString("id", "2")

.WriteElementString("descricao", "Etiqueta adesiv")

.WriteElementString("categoria", "Etiquetas")

.WriteElementString("preco", "19.99")

.WriteElementString("unidade", "pct")

.WriteElementString("quantidade", "1")

.WriteStartElement("estoque")

.WriteElementString("unidade", "pct")

.WriteStartElement("loja")

.WriteAttributeString("nome", "filial 1")

.WriteString("0")

.WriteEndElement() 'loja

.WriteElementString("almoxarifado", "5")

.WriteEndElement() 'estoque

.WriteEndElement() 'produto

.WriteEndElement() 'produtos

.WriteEndDocument()

End With

tw.Flush()

tw.Close()

por fim, vamos retornar o conteúdo desse xml no browser, para isso, basta mudar o contentType da página para text/xml:

Response.ContentType = "text/xml"

Response.Write(sb.ToString)

Response.End()

O resultado é o seguinte:

 

- <produtos>
- <produto id="1">
  <descricao>Papel sulfite</descricao>
  <categoria>Papeis</categoria>
  <preco>199.99</preco>
  <unidade>pct</unidade>
  <quantidade>1</quantidade>
- <estoque>
  <unidade>pct</unidade>
  <loja nome="matriz">10</loja>
  <almoxarifado>18</almoxarifado>
  </estoque>
  </produto>
- <produto id="2">
  <descricao>Etiqueta adesiv</descricao>
  <categoria>Etiquetas</categoria>
  <preco>19.99</preco>
  <unidade>pct</unidade>
  <quantidade>1</quantidade>
- <estoque>
  <unidade>pct</unidade>
  <loja nome="filial 1">0</loja>
  <almoxarifado>5</almoxarifado>
  </estoque>
  </produto>
  </produtos>

Bem, agora para salvar esse XML num arquivo é muito fácil, basta alterar o inicio do nosso código, no lugar de colocar o StringBuilder como saida pro XML é só colocar o path do arquivo, se ele não existir, será criado um novo:

Dim tw As XmlWriter = XmlWriter.Create(MapPath("~/") & "arquivo.xml", settings)

 
pronto, o restante do código é exatamente igual.
Espero que voces tenham aproveitado bastante.
até a próxima
voltar   comente  subir

Download Copy





 
Fabio Aguiar



Comentários:

Comentado por: Mmgr - 27/10/2008 0:00:00
ok., mas como alterar o xml?!
Comentado por: Mauricio Junior - 5/2/2010 0:00:00
Alterar de que jeito?

Comente (dê sua opinião):

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Como criar um CompositeControl, TextBox com Validador
Como criar facilmente arquivos XML via código
O que é Design Patterns?
Alterando e criptografando a String de Conexão em RunTime (.NET 2.0)




eCode10 Magazine 4 Edição

Baixe a sua sem pagar nada, basta apenas ter um cadastro na comunidade aspneti.com ou ser usuário do ecode10.com.



Edições anteriores
LAYERDEV

Notícias *

Notebook 3D ou 4K?

Notebook vem com tudo...

Visão do Futuro - Day of Glass 2

Futuro próximo pode chegar cedo?...

Lenovo de 14 polegadas IdeaPad

Veja o novo notebook Lenovo IdeaPad...

Windows 8 Store

Channel9 publica um vídeo da Windows Store...

Sony Vaio série Z

Novo Vaio Ultrabook? ou não Ultrabook?...

Samsung quer comprar RIM

Imagine se juntar as duas companhias...

Surface 2.0 mostrado

Novo Surface é mostrado de forma incrível...

Skype Tablet

Será que esse skype tablet pega mesmo?...

Lenovo e o seu novo Ultrabook

Ultrabook chega também pela Lenovo...




NETITC