ASP.NET - Archivo XML

Podemos vincular un archivo XML a un control de lista.

Un archivo XML

Aquí hay un archivo XML llamado "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>

Por favor, revise este archivo:countries.xml

Vincule el DataSet al control List

Primero, importe el espacio de nombres "System.Data" . Necesitamos este espacio de nombres para trabajar con el objeto DataSet. Incluya la siguiente instrucción en la parte superior de la página .aspx:

<%@ Import Namespace="System.Data" %>

A continuación, cree un DataSet para este archivo XML y cargue este archivo XML en el DataSet en el momento de la carga inicial de la página:

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New DataSet
  mycountries.ReadXml(MapPath("countries.xml"))
fin if
fin sub

Si desea vincular este DataSet al control RadioButtonList, primero debe crear un control RadioButtonList en la página .aspx (sin elementos asp:ListItem):

<html>
<body>
<form runat="server">
<asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" />
</form>
</body>
</html>

Luego, agrega el script para construir este XML DataSet:

<%@ Import Namespace="System.Data" %>
<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New DataSet
  mycountries.ReadXml(MapPath("countries.xml"))
  rb.DataSource=mycountries
  rb.DataValueField="value"
  rb.DataTextField="text"
  rb.DataBind()
fin if
fin sub
</script>
<html>
<body>
<form runat="server">
<asp:RadioButtonList id="rb" runat="server"
AutoPostBack="True" onSelectedIndexChanged="displayMessage" />
</form>
</body>
</html>

Luego, agregamos un subproceso que se ejecutará cuando el usuario haga clic en un elemento del control RadioButtonList. Cuando el usuario hace clic en un botón de opción, aparecerá un texto en el label:

<%@ Import Namespace="System.Data" %>
<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New DataSet
  mycountries.ReadXml(MapPath("countries.xml"))
  rb.DataSource=mycountries
  rb.DataValueField="value"
  rb.DataTextField="text"
  rb.DataBind()
fin if
fin sub
sub displayMessage(s como Object, e como EventArgs)
lbl1.text="Su país favorito es: " & rb.SelectedItem.Text
fin 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>

Mostrar este ejemplo