ASP .NET  -  Carregando dados XML em um DropdownList


 Neste artigo vou mostrar como carregar dados XML em um controle Dropdownlist em uma aplicação ASP.NET Web Forms.

Carregar dados XML em uma página ASP .NET, especificamente em um controle Dropdownlist, é uma tarefa bem simples. (para quem sabe fazer...)

Na verdade, basta usar um DataSet e utilizar o método ReadXml para carregar os dados XML, e, depois usar as propriedades DataTextField e DataValueField  usando o DataSet.

Se você deseja saber mais sobre o controle DropdownList visite o artigo :  Usando DropDownList em páginas ASP.NET - Macoratti .

Vejamos a seguir um exemplo bem simples de como realizar essa tarefa.

Recursos usados :

Preenchendo um dropdownlist com dados XML

Abra o VS 2015 Community e clique em New Project;

A seguir selecione Visual Basic e o template ASP .NET Web Application;

Informe o nome ASPNet_Dropdownlist; e clique no botão OK;

A seguir selecione o template Empty e marque Web Forms , sem autenticação nem hospedagem na nuvem e clique em OK;

Será criada uma aplicação Web vazia.  Vamos incluir uma página Default.aspx no projeto.
 

No menu Project clique em Add New Item e selecione o template Web Form informando o nome Default.aspx e clicando em Add:
 

Selecione o arquivo Default.aspx e a partir da ToolBox inclua um controle DropDownlist na página e informe o nome ddlProdutos:

Criando o arquivo XML

Vamos criar um arquivo XML que conterá os dados que vamos exibir. No menu Project clique em Add New Item;

A seguir selecione o template XML File, informe o nome Produtos e clique em Add;

A seguir inclua o seguinte código neste arquivo:
 
<?xml version="1.0" encoding="utf-8" ?>
<Produtos>
  <Produto>
    <ID>1</ID>
    <Nome>Caneta</Nome>
  </Produto>
  <Produto>
    <ID>2</ID>
    <Nome>Caderno</Nome>
  </Produto>
  <Produto>
    <ID>3</ID>
    <Nome>Borracha</Nome>
  </Produto>
  <Produto>
    <ID>4</ID>
    <Nome>Estojo</Nome>
  </Produto>
  <Produto>
    <ID>5</ID>
    <Nome>Mochila</Nome>
  </Produto>
</Produtos>

Implementando o código para carregar os dados XML

A seguir vamos usar o evento Load da página Default.aspx para incluir o código que vai acessar o arquivo XML, gerar um DataView, fazer a ordenação pelo nome e exibir os dados:

   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            'define um dataset
            Dim RS As DataSet = New DataSet()
            'le o conteúdo do arquivo XML
            RS.ReadXml(Server.MapPath("~/Produtos.xml"))
            'define um dataview
            Dim dv As DataView = RS.Tables(0).DefaultView
            'Ordena o Dataview  pela coluna Nome
            dv.Sort = "Nome"
            'Define as propriedades DataTextField e DataValueField
            ddlProdutos.DataTextField = "Nome"
             ddlProdutos.DataValueField = "ID"
            'vincula o dataview ao dropdownlist
            ddlProdutos.DataSource = dv
            ddlProdutos.DataBind()
        End If
    End Sub

Executando o projeto iremos obter o seguinte resultado:

Simples assim...

Pegue o projeto completo aqui :  ASPNet_Dropdownlist.zip

"Ora, o fim do mandamento é o amor de um coração puro, e de uma boa consciência, e de uma fé não fingida."
1 Timóteo 1-5

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ?

 

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

 

Referências:


José Carlos Macoratti