Vous êtes sur la page 1sur 11

Prctica A: Leer datos XML

Logon
Logon Page
Page
Login.aspx
Login.aspx
Benefits
Benefits
Coho Home
Home Page
Page Page
Page Header
Header ASPState
Winery Default.aspx
Default.aspx Header.ascx
Menu
Menu Header.ascx
Registration
Registration Component
Component
Register.aspx
Register.aspx Class1.vb Web.
Class1.vb or
or Class1.cs
Class1.cs tempdb
config

Life
Life Insurance
Insurance Retirement
Retirement Medical
Medical Dental
Dental
Life.aspx
Life.aspx Retirement.aspx
Retirement.aspx Medical.aspx
Medical.aspx Dental.aspx
Dental.aspx

Prospectus Doctors User XML


XML Web
Web
Prospectus Doctors User Control
Lab Web Prospectus.aspx
Prospectus.aspx Doctors.aspx
Doctors.aspx namedate.ascx
namedate.ascx Service
Service
Application dentalService1.asmx
dentalService1.asmx

XML
Doctors Dentists
Files

*****************************

Objetivos En este laboratorio, aprenderemos a:


Leer un archivo Extensible Markup Language (XML) y almacenarlo en un
DataSet.
Aplicar una transformacin a un archivo XML.

Requisitos previos Para trabajar en este laboratorio, es necesario tener:


Conocimientos sobre cmo utilizar un control DataGrid.
Conocimientos sobre cmo crear procedimientos de evento para controles
de servidor Web.

Escenario Coho Winery ofrece varios beneficios a sus empleados. En los laboratorios de
este curso, crearemos un sitio Web que permita a los empleados seleccionar y
configurar los beneficios que elijan.
Uno de los beneficios que ofrece Coho Winery es la jubilacin. Cuando
solicitan este beneficio, los empleados pueden ver los prospectos de varios
fondos comunes de inversin que ofrece Coho Winery.
Tiempo estimado para
completar el laboratorio:
30 minutos
Ejercicio 0
Configuracin del laboratorio
Para realizar este laboratorio, es necesario haber creado el proyecto de la
aplicacin Web Benefits y el proyecto de la biblioteca de clases BenefitsList.
Estos proyectos pueden haberse creado utilizando Visual Basic .NET o
Microsoft Visual C# .NET.
Si no se han creado estos proyectos, realizar los siguientes pasos:

Crear la solucin LabApplication


Importante Realizar este procedimiento nicamente si no se ha creado un
archivo de solucin LabApplication.

1. Utilizando Visual Studio .NET, crear una nueva solucin en blanco


denominada LabApplication:
a. En el men Archivo, seleccionar Nuevo, y hacer clic en Solucin en
blanco.
b. En el cuadro de dilogo Nuevo proyecto, escribir LabApplication en el
cuadro de texto Nombre y hacer clic en Aceptar.

Crear el proyecto Benefits


Importante Realizar este procedimiento nicamente si no se ha creado
anteriormente un proyecto Benefits, o si se ha eliminado.

1. Crear un nuevo proyecto de aplicacin Web ASP.NET, denominado


BenefitsVB o BenefitsCS, en la solucin LabApplication:
a. En el men Archivo, seleccionar Nuevo, y hacer clic en Proyecto.
b. En el cuadro de dilogo Nuevo proyecto, en la lista Tipos de proyecto,
hacer clic en Proyectos de Visual Basic o Proyectos de Visual C#.
c. En la lista Plantillas, hacer clic en Aplicacin Web ASP.NET,
establecer la ubicacin en http://localhost/BenefitsVB para el proyecto
Visual Basic .NET o en http://localhost/BenefitsCS para el proyecto
Visual C#.
d. Hacer clic en Agregar a Solucin, y hacer clic en Aceptar.

Precaucin Cuando se agregan proyectos a la solucin, es importante el


uso de maysculas en el nombre del proyecto. Probablemente, utilizaremos
algunos formularios Web Forms ya generados en ste y en otros
laboratorios, por ello, debemos verificar que hemos escrito con maysculas
el nombre del proyecto Benefits.
Actualizar el proyecto Benefits
1. En Visual Studio .NET, abrir el archivo de solucin LabApplication.
2. En el Explorador de soluciones, hacer clic con el botn derecho en
BenefitsListVB o BenefitsListCS, seleccionar Agregar y hacer clic en
Agregar elemento existente.
3. Buscar los archivos de proyecto:
Para el proyecto Visual Ir a la carpeta VB\Starter\BenefitsVB para los archivos de Visual Basic
Basic .NET .NET.
Para el proyecto Visual Ir a la carpeta CS\Starter\BenefitsCS para los archivos de Visual C#.
C#
Estas carpetas pueden encontrarse dentro del fichero labs10.zip
4. En el cuadro Archivos de tipo del cuadro de dilogo Agregar elemento
existente Benefits, hacer clic en Todos los archivos (*.*).
5. Seleccionar todos los archivos de la carpeta y hacer clic en Abrir.
6. Hacer clic en S a la pregunta de si sobrescribir o recargar los archivos.

Crear la biblioteca de clases BenefitsList


Importante Realizar este procedimiento nicamente si no se ha creado
anteriormente un proyecto BenefitsList, o si se ha eliminado.

1. Crear un nuevo proyecto de biblioteca de clases:


Para el proyecto Visual Crear un nuevo proyecto de biblioteca de clases Visual Basic .NET con el
Basic .NET nombre BenefitsListVB, y agregarlo a la solucin LabApplication:
a. En el men Archivo, seleccionar Nuevo y hacer clic en Proyecto.
b. En el cuadro de dilogo Nuevo proyecto, en la lista Tipos de proyecto,
hacer clic en Proyectos de Visual Basic.
c. En la lista Plantillas, hacer clic en Biblioteca de clases, establecer el
Nombre de BenefitsListVB.
d. Hacer clic en Agregar a solucin, y clic en Aceptar.
Para el proyecto Visual Crear un nuevo proyecto de biblioteca de clases Visual C# .NET con el
C# nombre BenefitsListCS, y agregarlo a la solucin LabApplication:
a. En el men Archivo, seleccionar Nuevo y hacer clic en Proyecto.
b. En el cuadro de dilogo Nuevo proyecto, en la lista Tipos de proyecto,
hacer clic en Proyectos de Visual C#.
c. En la lista Plantillas, hacer clic en Biblioteca de clases, establecer el
Nombre de BenefitsListCS.
a. Hacer clic en Agregar a solucin, y clic en Aceptar.

Precaucin Verificar que se han escrito correctamente las maysculas del


proyecto BenefitsList.
Actualizar el proyecto BenefitsList
1. En Visual Studio .NET, abrir el archivo de solucin LabApplication.
2. En el Explorador de soluciones, hacer clic con el botn derecho en
BenefitsListVB o BenefitsListCS, seleccionar Agregar y hacer clic en
Agregar elemento existente.
3. Ir al proyecto BenefitsList.
Para el proyecto Visual Ir a la carpeta VB\Starter\BenefitsListVB.
Basic .NET

Para el proyecto Visual Ir a la carpeta CS\Starter\BenefitsListCS.


C#
Estas carpetas pueden encontrarse dentro del fichero labs10.zip
4. En el cuadro Archivos de tipo del cuadro de dilogo Agregar elemento
existente BenefitsList, hacer clic en Todos los archivos (*.*).
5. Seleccionar todos los archivos de la carpeta y hacer clic en Abrir.
6. Hacer clic en S a la pregunta de si sobrescribir o recargar los archivos.

Crear una referencia al componente BenefitsList del proyecto Benefits


1. En el proyecto Benefits de la solucin LabApplication, completar los
siguientes pasos para agregar una referencia al componente BenefitsList
que acabamos de crear:
a. Hacer clic con el botn derecho en el proyecto BenefitsVB o
BenefitsCS en el Explorador de soluciones y hacer clic en Agregar
referencia.
b. En el cuadro de dilogo Agregar referencia, en la pestaa Proyectos,
hacer doble clic en el proyecto BenefitsListVB o BenefitsListCS.
c. En la lista Componentes seleccionados, seleccionar el componente
BenefitsListVB o BenefitsListCS, y hacer clic en Aceptar.
El componente se agrega a la carpeta Referencias en el Explorador de
soluciones.
Ejercicio 1
Leer una lista de fondos comunes de inversin de un archivo XML
En este ejercicio, leeremos una lista de los fondos comunes de inversin del
archivo mutual_funds.xml y los almacenaremos en un DataSet. A
continuacin, mostraremos el DataSet en un control DataGrid.

Leer una lista de fondos comunes de inversin


1. Abrir el proyecto Benefits en la solucin LabApplication Visual Studio
.NET.
2. Agregar archivos al proyecto Benefits:
a. En el Explorador de soluciones, hacer clic con el botn derecho en
BenefitsVB o BenefitsCS, seleccionar Agregar, y escoger Agregar
elemento existente.
b. Ir a la carpeta de beneficios:
Visual Basic .NET VB\Starter\BenefitsVB.
C# CS\Starter\BenefitsCS.
Estas carpetas pueden encontrarse dentro del fichero labs10.zip
c. En el cuadro de lista desplegable Archivos de tipo, hacer clic en Todos
los archivos (*.*).
d. Seleccionar los siguientes archivos y hacer clic en Abrir:
retirement.aspx
prospectus.aspx
mutual_funds.xml
lgcap.xml
growth.xml
midcap.xml
smcap.xml
prospectus_style.xsl
3. Abrir el archivo mutual_funds.xml y examinar su contenido. Cules son
los dos campos (elementos) de cada fondo?
_____________________________________________________________

_____________________________________________________________

4. Abrir el formulario Web Form retirement.aspx.


Se ha agregado ya un control DataGrid a la pgina. Este DataGrid tiene
dos columnas personalizadas, una columna Name para mostrar el nombre
de un fondo comn de inversin, y una columna Link to prospectus, que
contiene un hiperenlace al formulario Web Form prospectus.aspx. En los
siguientes pasos, llenaremos este DataGrid con datos de un archivo XML.
5. Abrir la pgina de cdigo subyacente retirement.aspx.vb o
retirement.aspx.cs y localizar el siguiente comentario en el procedimiento de
evento Page_Load:
Visual Basic .NET 'TODO Lab 12: Create a DataSet, fill it with the
'XML file, and display it

C# //TODO Lab 12: Create a DataSet, fill it with the


//XML file, and display it

6. Llenar el DataSet con los datos del archivo XML y mostrar el DataSet en
el control DataGrid dgRetirement:
a. Crear un DataSet denominado dsRetirement.
b. Invocar el mtodo ReadXml del DataSet para leer el archivo
mutual_funds.xml.
c. Establecer la fuente de datos del DataGrid dgRetirement en
dsRetirement.
d. Invocar el mtodo DataBind del DataGrid.
El cdigo debera ser similar al siguiente:
Visual Basic .NET Dim dsRetirement As New DataSet()
dsRetirement.ReadXml( _
Server.MapPath("mutual_funds.xml"))
dgRetirement.DataSource = dsRetirement
dgRetirement.DataBind()

C# DataSet dsRetirement = new DataSet();


dsRetirement.ReadXml( Server.MapPath("mutual_funds.xml"));
dgRetirement.DataSource = dsRetirement;
dgRetirement.DataBind();

Para qu se utiliza el mtodo Server.MapPath?


____________________________________________________________

____________________________________________________________

7. Guardar los cambios.


8. Generar y examinar la pgina retirement.aspx.
Deberamos ver todos los nombres de los fondos comunes de inversin,
adems de enlaces a los prospectos de fondos comunes de inversin del
DataGrid.
Aunque los enlaces a los prospectos no funcionan en este momento, abrirn
una pgina denominada prospectus.aspx y le pasarn un identificador id de
prospecto en el parmetro ProspID. Generaremos la pgina prospectus.aspx
para mostrar el prospecto solicitado en el Ejercicio 2.
Ejercicio 2
Leer, transformar y mostrar XML
En este ejercicio, utilizaremos el control Xml para leer, transformar y mostrar el
prospecto de un determinado fondo comn de inversin.

Leer y mostrar un prospecto


1. Abrir el archivo lgcap.xml y examinar su contenido.
Cules son los tres campos (elementos) de un prospecto?
_____________________________________________________________

_____________________________________________________________

2. Abrir el archivo prospectus_style.xsl y examinar su contenido.


Prospectus_style.xsl es un archivo de hoja de estilo XML que utiliza XSLT
para mostrar datos XML. Cul ser el ttulo de la pgina del prospecto?
Qu color se utilizar para mostrar el texto General Description?
_____________________________________________________________

_____________________________________________________________

3. Abrir el formulario Web Form prospectus.aspx.


Esta pgina actualmente contiene el control de usuario header.ascx y un
nico hiperenlace.
4. Arrastrar un control Xml del Cuadro de herramientas en la pgina
prospectus.aspx, para que la pgina sea similar a la siguiente ilustracin.
5. Establecer las propiedades del control Xml en la ventana Propiedades, como
muestra la siguiente tabla.
Propiedad Valor

ID xmlProspectus
DocumentSource lgcap.xml

6. Generar y examinar la pgina prospectus.aspx.


Deberamos ver el contenido del prospecto lgcap.xml como una cadena de
texto continua y sin formato.

Aplicar una transformacin al prospecto


1. Abrir el formulario Web Form prospectus.aspx.
2. Establecer la propiedad TransformSource del control xmlProspectus en
prospectus_style.xsl.
3. Generar y examinar la pgina prospectus.aspx.
Deberamos ver el contenido del prospecto lgcap.xml como Hypertext
Markup Language (HTML) con formato.

Modificar la propiedad DocumentSource del control Xml


dinmicamente
Ahora utilizaremos un parmetro de cadena denominado ProspID para
seleccionar qu prospectos se mostrarn:
1. Abrir el formulario Web Form prospectus.aspx.
2. En la ventana Propiedades, eliminar la propiedad DocumentSource del
control xmlProspectus.
3. Abrir la pgina de cdigo subyacente de prospectus.aspx.
Visual Basic .NET Abrir la pgina prospectus.aspx.vb y localizar el siguiente comentario en el
procedimiento de evento Page_Load:
'TODO Lab 12: Dynamically select the prospectus

C# Abrir la pgina prospectus.aspx.cs y localizar el siguiente comentario en el


procedimiento de evento Page_Load:
//TODO Lab 12: Dynamically select the prospectus

4. Leer el parmetro ProspID de la cadena de consulta solicitada y almacenar


el parmetro en una variable denominada strProspID.
El cdigo debera ser similar al siguiente:
Visual Basic .NET Dim strProspID As String = Request.Params("ProspID")

C# string strProspID = Request.Params["ProspID"];


5. En el cdigo, establecer la propiedad DocumentSource del control
xmlProspectus con el valor de la variable strProspID, concatenado con
una extensin .xml.
El cdigo debera ser similar al siguiente:
Visual Basic .NET xmlProspectus.DocumentSource = strProspID & ".xml"

C# xmlProspectus.DocumentSource = strProspID + ".xml";

6. Guardar los cambios de la pgina prospectus.aspx.


7. Generar y examinar la pgina retirement.aspx.
8. Hacer clic en el enlace Prospectus junto a Large cap stocks.
Deberamos ver el prospecto del fondo comn de inversin Large cap
stocks.
9. Hacer clic en el enlace Back to retirement page.
10. Probar los enlaces Prospectus para Growth stocks, Mid-cap stocks y
Small-cap stocks.
Ejercicio 3 (si se dispone de tiempo)
Datos anidados
En este ejercicio, experimentaremos con la generacin de datos XML anidados
de una base de datos Microsoft SQL Server.

Generar datos secuenciales


1. Agregar el formulario Web Form nestedData.aspx de la carpeta Benefits.
Este archivo puede encontrarse en la carpeta del proyecto Benefits:
Visual Basic .NET VB\Starter\BenefitsVB.
C# CS\Starter\BenefitsCS.
Estas carpetas pueden encontrarse dentro del fichero labs10.zip
2. Abrir el formulario Web Form nestedData.aspx.
3. Abrir la pgina de cdigo subyacente nestedData.aspx.vb o
nestedData.aspx.cs y examinar el cdigo.
El cdigo genera un DataSet denominado dsDoctorsSpecialities, que
contiene tres objetos DataTable: doctors, drspecialties y specialties. El
cdigo crea relaciones entre las tres tablas.
Qu columna vincula los objetos DataTable doctors y drspecialties en la
DataRelation relation1? Cul es la DataTable primaria de esta relacin?
____________________________________________________________

____________________________________________________________

4. Generar y examinar la pgina nestedData.aspx y analizar el XML creado.


Son datos anidados?
____________________________________________________________

____________________________________________________________

5. Localizar el siguiente comentario en el procedimiento de evento


Page_Load:
Visual Basic .NET 'TODO Lab 12: Create a nested relationship between the
doctors and drspecialties DataTable objects

C# //TODO Lab 12: Create a nested relationship between the


doctors and drspecialties DataTable objects
6. Quitar el comentario de la siguiente lnea de cdigo para crear una relacin
anidada entre los objetos DataTable doctors y drspecialties:
Visual Basic .NET 'dr1.Nested = True

C# //dr1.Nested = true;

7. Generar, examinar nestedData.aspx y analizar el XML creado.

Sugerencia Es posible que sea necesario actualizar el explorador despus


de que se haya cargado la pgina para ver los cambios de los datos XML.

Qu ha cambiado respecto a la respuesta XML anterior?


_____________________________________________________________

_____________________________________________________________

8. Eliminar la lnea de cdigo de la que quitamos el comentario en el Paso 6.


9. Localizar el siguiente comentario en el procedimiento de evento
Page_Load:
Visual Basic .NET 'TODO Lab 12: Create a nested relationship between the
specialties and drspecialties DataTable objects

C# //TODO Lab 12: Create a nested relationship between the


specialties and drspecialties DataTable objects

10. Quitar el comentario de la siguiente lnea de cdigo para crear una relacin
anidada entre los objetos DataTable specialties y drspecialties:
Visual Basic .NET 'dr2.Nested = True

C# //dr2.Nested = true;

11. Generar y examinar la pgina nestedData.aspx y analizar el XML creado.

Sugerencia Es posible que sea necesario actualizar el navegador despus


de que se haya cargado la pgina para ver los cambios de los datos XML.

Qu ha cambiado respecto a la respuesta XML anterior?


_____________________________________________________________

_____________________________________________________________

Nota No podemos utilizar las dos relaciones anidadas al mismo tiempo


debido a que el mismo objeto DataTable (drspecialties) no puede ser
secundario en dos relaciones anidadas.

Vous aimerez peut-être aussi

  • Practica A
    Practica A
    Document20 pages
    Practica A
    Damian Salazar
    Pas encore d'évaluation
  • Practica A PDF
    Practica A PDF
    Document19 pages
    Practica A PDF
    Esteban Soraire
    Pas encore d'évaluation
  • Practica A PDF
    Practica A PDF
    Document16 pages
    Practica A PDF
    Esteban Soraire
    Pas encore d'évaluation
  • Practica A PDF
    Practica A PDF
    Document22 pages
    Practica A PDF
    Esteban Soraire
    Pas encore d'évaluation
  • Acce Soda To Sado
    Acce Soda To Sado
    Document12 pages
    Acce Soda To Sado
    Victor Manuel Bucio Vargas
    Pas encore d'évaluation
  • Practica A PDF
    Practica A PDF
    Document10 pages
    Practica A PDF
    Esteban Soraire
    Pas encore d'évaluation
  • Practica A
    Practica A
    Document9 pages
    Practica A
    Damian Salazar
    Pas encore d'évaluation
  • Practica A
    Practica A
    Document4 pages
    Practica A
    Onni Kun
    Pas encore d'évaluation