ASP.NET - Arquivo XML
- Página Anterior SortedList WebForms
- Próxima Página Repeater WebForms
Podemos associar o arquivo XML a um controle de lista.
Exemplo
Um arquivo XML
Existe um arquivo XML chamado "countries.xml":
<?xml version="1.0" encoding="ISO-8859-1"?> <countries> <country> <text>China</text> <value>C</value> </country> <country> <text>Sweden</text> <value>S</value> </country> <country> <text>France</text> <value>F</value> </country> <country> <text>Italy</text> <value>I</value> </country> </countries>
Veja o arquivo a seguir:countries.xml
Associar DataSet a um controle List
Primeiro, importe o espaço de nomes "System.Data" . Necessitamos desse espaço de nomes para trabalhar com o objeto DataSet. Inclua a seguinte instrução no topo do arquivo .aspx:
<%@ Import Namespace="System.Data" %>
Em seguida, crie um DataSet para esse arquivo XML e carregue o arquivo XML para o DataSet no carregamento inicial da página:
<script runat="server"> sub Page_Load se Não Page.IsPostBack então dim mycountries=New DataSet mycountries.ReadXml(MapPath("countries.xml")) fim se fim sub
Se precisar associar o DataSet a um controle RadioButtonList, primeiro crie um controle RadioButtonList no arquivo .aspx (sem elementos asp:ListItem):
<html> <body> <form runat="server"> <asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" /> </form> </body> </html>
Então, adicione o script para construir este XML DataSet:
<%@ Import Namespace="System.Data" %> <script runat="server"> sub Page_Load se Não Page.IsPostBack então dim mycountries=New DataSet mycountries.ReadXml(MapPath("countries.xml")) rb.DataSource=mycountries rb.DataValueField="value" rb.DataTextField="text" rb.DataBind() fim se fim sub </script> <html> <body> <form runat="server"> <asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" onSelectedIndexChanged="displayMessage" /> </form> </body> </html>
Então, adicionamos um subrotina que será executada quando o usuário clicar em um item do controle RadioButtonList. Quando o usuário clicar em um botão de rádio, uma mensagem de texto aparecerá no label:
<%@ Import Namespace="System.Data" %> <script runat="server"> sub Page_Load se Não Page.IsPostBack então dim mycountries=New DataSet mycountries.ReadXml(MapPath("countries.xml")) rb.DataSource=mycountries rb.DataValueField="value" rb.DataTextField="text" rb.DataBind() fim se fim sub sub displayMessage(s como Object, e como EventArgs) lbl1.text="Seu país favorito é: " & rb.SelectedItem.Text fim sub </script> <html> <body> <form runat="server"> <asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" onSelectedIndexChanged="displayMessage" /> <p><asp:label id="lbl1" runat="server" /></p> </form> </body> </html>
- Página Anterior SortedList WebForms
- Próxima Página Repeater WebForms