You are on page 1of 7

UNIVERSIDAD CATOLICA DE SANTA MARIA

FACULTAD DE CIENCIAS E INGENIERIAS FISICAS Y


FORMALES

ESCUELA PROFESIONAL DE ING. DE SISTEMAS

TEMA: XML

CURSO: Desarrollo de Aplicaciones II

GRUPO: 03

PRESENTADO POR: Jean Kristofer Salazar Arizanca

AREQUIPA
2017
EJERCICIO
1. Almacene informacin del personal que trabaja en la Universidad, considerando
su Cdigo, Nombre, rea que trabaja y sueldo almacenar esta informacin en un
documento XML, luego determinar mediante los controles y eventos adecuados
que trabajadores pertenecen a una rea determinada, as como la totalidad de
sueldos.

Cdigo HTML:

<!--El siguiente contenedor alojara toda la pgina web creada-->


<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">

<asp:Label ID="lblTitulo" runat="server" Text="XML de la Universidad"


Font-Bold="True" Font-Names="Algerian" Font-Size="X-Large"
ForeColor="#CC0000"></asp:Label>

<asp:Label ID="Label1" runat="server" Font-Bold="True" Font-Names="Times


New Roman" Font-Size="Medium" Text="Ingrese el Area a buscar"></asp:Label>

<!--El siguiente Textbox servir para ingresar el rea determinada para


buscar trabajadores en esa area-->
<asp:TextBox ID="txtArea" runat="server"></asp:TextBox>

<!--El siguiente Boton nos servir para mostrar solo los trabajadores que
estn dentro de un rea determinada ingresado por teclado-->
<asp:Button ID="btnMostrar" runat="server" Text="Mostrar Trabajdores"
Font-Bold="True" ForeColor="#0000CC" OnClick="btnMostrar_Click" />

<!En cambio el siguiente botn nos servir para mostrar todos los
trabajadores del archivo XML y la suma de sus sueldos
<asp:Button ID="btnTotal" runat="server" Text="Total de Sueldos de la
Universidad" Font-Bold="True" ForeColor="#0000CC" OnClick="btnTotal_Click" />

<asp:Label ID="lblrespuesta" runat="server" Font-Bold="True" Font-


Names="Times New Roman" Font-Size="Medium" Text="El sueldo Total es --&gt; "
Visible="False"></asp:Label>

<asp:GridView ID="datos" runat="server" Width="208px">


</asp:GridView>

El control GridView nos servir para mostrar el


contenido seleccionado del archivo XML

</asp:Content>
Cdigo de Eventos de la Pagina Web:

//El siguiente mtodo solo mostrara los trabajadores de la Universidad que


pertenezcan a un rea determinada
protected void btnMostrar_Click(object sender, EventArgs e)
{
lblrespuesta.Visible = false;
//Abrimos el archivo XML

FileStream fs = new FileStream(@"E:\UCSM\V SEMESTRE\DESARROLLO DE


APLICACIONES II\PRACTICA\II FASE\SESION 7\Ejercicio\ArchivoXML.xml",
FileMode.Open);

El siguiente objeto lo que hace es conectarse


con el archivo XML y abrirlo en modo lectura

XmlTextReader r = new XmlTextReader(fs);

//Creamos un objeto generico de la Clae trabajador


List<Trabajador> trabajadores = new List<Trabajador>();

//Entramos mientras haya trabajadores


while (r.Read())
{
if (r.NodeType == XmlNodeType.Element && r.Name == "Trabajador")
{
//Creamos un trabajador con los datos del XML para luego mostrarlo
Trabajador trabajador = new Trabajador();
trabajador.Codigo = Int32.Parse(r.GetAttribute(0));
trabajador.Nombre = r.GetAttribute(1);
trabajador.Area = r.GetAttribute(2);

//Verificamos que el trabajdor tenga el area que se esta buscando


if (trabajador.Area==txtArea.Text)
{
while (r.NodeType != XmlNodeType.EndElement)
{
r.Read();

if (r.Name == "sueldo")
{
while (r.NodeType != XmlNodeType.EndElement)
{
r.Read();
if (r.NodeType == XmlNodeType.Text)
{
trabajador.Sueldo = Int32.Parse(r.Value);
}
}
}

}
//Agregamos el trabajador a la lista de trabajadores
trabajadores.Add(trabajador);
}
}
}
//Cerramos la lectura del archivo XML
r.Close();

//Actualizamos el contenedor para mostrar los trabajadores


datos.DataSource = trabajadores;
datos.DataBind();
}

//El siguiente botn muestra todos los Trabajadores de la Universidad con sus
respectivos datos , adems de obtener el total de sueldo de los trabajadores
protected void btnTotal_Click(object sender, EventArgs e)
{
//Abrimos el archivo XML
FileStream fs = new FileStream(@"E:\UCSM\V SEMESTRE\DESARROLLO DE
APLICACIONES II\PRACTICA\II FASE\SESION 7\Ejercicio\ArchivoXML.xml",
FileMode.Open);
XmlTextReader r = new XmlTextReader(fs);

//Creamos un objeto generico de la Clae trabajador


List<Trabajador> trabajadores = new List<Trabajador>();

//Inicializamos una variable para que contenga el total de los sueldos


int sueldototal = 0;

//Entramos mientras haya trabajadores


while (r.Read())
{
if (r.NodeType == XmlNodeType.Element && r.Name == "Trabajador")
{
Trabajador trabajador = new Trabajador();
trabajador.Codigo = Int32.Parse(r.GetAttribute(0));
trabajador.Nombre = r.GetAttribute(1);
trabajador.Area = r.GetAttribute(2);

while (r.NodeType != XmlNodeType.EndElement)


{
r.Read();

if (r.Name == "sueldo")
{
while (r.NodeType != XmlNodeType.EndElement)
{
r.Read();
if (r.NodeType == XmlNodeType.Text)
{

trabajador.Sueldo = Int32.Parse(r.Value);
sueldototal += Int32.Parse(r.Value);

En estas lneas se obtiene el


} sueldo por cada trabajador y se
} lo va sumando a una variable
}
que luego ser mostrada
}
//Agregamos el trabajador a la lista de trabajadores
trabajadores.Add(trabajador);
}
}

r.Close();

//Actualizamos el contenedor para mostrar los trabajadores


datos.DataSource = trabajadores;
datos.DataBind();

//Mostramos un pequeo mensaje


lblrespuesta.Visible = true;
lblrespuesta.Text = "El sueldo Total es --> ";
lblrespuesta.Text += sueldototal.ToString();
}

Demostracin de la Pagina Web:

o La siguiente pantalla se muestra al iniciar la aplicacin con la opcion que se


quiera realizar
o Como se puede observar en la siguiente imagen solo se buscan los
trabajadores que pertenezcan al area de Limpieza por lo que en el archivo
XML solo se encontro dos coincidencias.

o Como se puede observar en la siguiente imagen se buscan todos los


trabajadores que esten dentro del archivo XML y ademas se muestra un
mensaje con el total de los sueldos sumandos de la Universidad.
CUESTIONARIO

1. Qu es XML?

XML es un meta lenguaje que permite definir lenguajes de marcas


desarrollado por el World Wide Web Consortium utilizado para almacenar
datos de forma legible.

2. Con que clases XML se escribe y leen sus documentos?

Con las clases XmlTextWriter y XmlTextReader nos permitirn escribir


y leer respectivamente en un archivo XML.

You might also like