Está en la página 1de 17

Desarrollo de Aplicaciones

Capítulo 07
XML (eXtensible Markup Language)

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
Agenda
• Repaso sesión anterior.
• XML
– Introducción
– Que es XML?
– Estándares soportados
– Estructura y gramática XML
– Parseo de archivos XML
– XSLT
– Xpath
– Serialización XML
• Que veremos la próxima sesión?

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
Repaso sesión anterior

• Windows Forms (winforms)


– Componentes de las aplicaciones Windows
– Controles agrupados por función
– Creación de aplicaciones Windows

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
XML

Referencias

1. Apress Pro Dot Net 2.0 XML.

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
XML

• Introducción
– XML fué desarrollado por el W3C en 1996 como una tecnología
abierta.
– Se ha convertido en el estándar de facto para la representación e
intercambio de datos entre aplicaciones.
– NET Framework ofrece soporte extensivo para el manejo de
archivos XML.
– NET Framework soporta los estándares XML desarrollados por la
W3C (World Wide Web Consortium).
– El NET Framework utiliza XML internamente para los archivos de
configuración, documentación de código fuente, SOAP, servicios
web, ADO.Net (escenario desconectado), etc.
– Utiliza el namespace: System.Xml.
– SQL Server 2005 adopta internamente el manejo de XML.

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
XML

• Que es XML?
– Es un lenguaje de marcas (tags) para
describir datos.
– Ofrece una forma estandarizada para
representar data textual.
– Los tags son definidos por el usuario,
a diferencia del HTML donde son
predefinidos.
– Los documentos XML se
autodescriben por sus marcas (tags)
y son fáciles de leer.
– Para procesar un archivo XML es
necesario un parseador.
– Es un estándar de la industria y es
independiente de cualquier empresa
privada.
– Se puede utilizar para intercambiar
data entre aplicaciones y plataformas.

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
XML

• Estándares soportados actualmente


– XML 1.0 (www.w3.org/TR/1998/REC-xml-19980210),
including DTD support
– XML Namespaces (www.w3.org/TR/REC-xml-names),
both stream level and DOM
– XML Schemas (www.w3.org/2001/XMLSchema)
– XPath expressions (www.w3.org/TR/xpath)
– XSLT transformations (www.w3.org/TR/xslt)
– DOM Level 1 Core (www.w3.org/TR/REC-DOM-Level-1)
– DOM Level 2 Core (www.w3.org/TR/DOM-Level-2-Core)
– SOAP 1.1 (www.w3.org/TR/SOAP)

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
XML

• Estructura y gramática XML


– Las marcas XML (tags) son case-sensitive, no es lo
mismo: <Customer>, <customer>, <CUSTOMER>.
– Un documento XML solo puede tener un elemento (nodo)
raíz.
– Todos los tags deben tener un inicio y un fin:
<Customer> … </Customer> o <Customer />
– Se debe respetar la jerarquía y relaciones de los tags.
– Los atributos de los elementos deben estar encerrados
por comillas (“”): <Customer id=“C001” />

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
XML

• Parseo de archivos XML


– Los documentos XML por sí solos no pueden hacer
nada.
– Se necesita un parseador para procesarlos y obtener su
información.
– Los parseadores tienen 2 categorías:
• Dom-based parsers (DOM : Document Object Model)
• SAX-based parsers (SAX: Simple API for XML)
– NET Framework provee parseadores:
• Siguiendo el modelo DOM (XML Document)
• Siguiendo el modelo de Readers de solo lectura (XML Reader)

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
XML

• Parseadores DOM (Document Object Model)


– Los parseadores basados en DOM son de lectura y escritura.
– Permiten observar el documento XML como un árbol.
– Permiten acceso aleatorio y libre a cualquier parte del documento
XML.
– Cargan todo el documento XML en memoria.
– NET Framework ofrece la clase XMLDocument.

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
XML
Ejemplo de lectura DOM:
private void button1_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(Application.StartupPath + "/employees.xml");
TreeNode root = new TreeNode(doc.DocumentElement.Name);
treeView1.Nodes.Add(root);
foreach (XmlNode node in doc.DocumentElement.ChildNodes)
{
TreeNode employee = new TreeNode("Employee ID :" +
node.Attributes["employeeid"].Value);
root.Nodes.Add(employee);
if (node.HasChildNodes)
{
foreach (XmlNode childnode in node.ChildNodes)
{
TreeNode n2 = new TreeNode(childnode.Name + " : "+ childnode.InnerText);
employee.Nodes.Add(n2);
}
}
}
}
Desarrollo de aplicaciones .NET
Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
XML

• Parseadores SAX(Simple API for XML)


– Los parseadores basados en SAX son de sólo-lectura.
– Permiten acceso secuencial al documento XML.
– Generan eventos cuando encuentran partes del documento.
– Utiles cuando se requiere cargar documentos XML muy grandes.
– NET Framework ofrece un similar (no igual en funcionamiento):
XMLReader y XMLWriter
– XMLReader y XMLWriter, permiten recorrer y acceder a los
elementos en forma secuencial.
– No cargan todo el documento en memoria, solo la parte a leer. Por
consecuencia son mucho más rápidos que el modelo DOM.
– Las clases XMLReader y XMLWriter son abstractas, se debe utilizar
una de sus clases heredadas, como: XmlTextReader,
XmlTextWriter, etc.

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
XML

• XSLT (Extensible Stylesheet


Language Transformations)
– XML resuelve el problema de
representación e intercambio de datos.
– XSLT resuelve el problema de
transformación de los documentos XML
para una determinada aplicación.
– Transforman un documento XML de
una forma a otra.
– Los documentos XSLT también son
documentos XML.

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
XML

• XPath
– Permite la búsqueda y localización de elementos dentro de un
documento XML.
– Es un lenguaje de expresión que permite la navegación a través de
los elementos y atributos de un documento XML.
– Es un estándar W3C.

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
XML

• Serialización XML
– Las aplicaciones actuales ya no se
encuentran en una sola
computadora. Están distribuidas a
través de múltiples computadoras y
servidores.
– Se identifica la necesidad de
transferir la información entre las
múltiples computadoras.
– La serialización es el proceso de
escribir la data sobre algún medio.
– La serialización permite hacer
persistentes los objetos y datos..
– NET Framework provee clases para
serializar y de-serializar objetos.

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
Que veremos la próxima sesión?

• Servicios Web

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)
Fin de la sesión

• Dudas, comentarios, sugerencias?


• Comunicarse por email a eriveraa@gmail.com
• Gracias por su atención !!

Desarrollo de aplicaciones .NET


Eduardo Rivera Alva - MCTS.Net (eriveraa@gmail.com)