La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Leer y escribir datos XML

Presentaciones similares


Presentación del tema: "Leer y escribir datos XML"— Transcripción de la presentación:

1 Leer y escribir datos XML

2 Descripción Descripción de la arquitectura XML en ASP.NET
XML y el objeto DataSet Trabajar con datos XML Utilizar el control de servidor Web XML

3 Lección: descripción de la arquitectura XML en ASP.NET
¿Qué es XML? Principales tecnologías XML

4 Instrucción de procesamiento
¿Qué es XML? Proporciona un método uniforme para describir e intercambiar datos estructurados Podemos definir nuestros propios elementos y atributos Los elementos pueden anidarse XML válido frente a XML con un formato correcto Atributos Instrucción de procesamiento <?xml version="1.0"?> <authors> <author ID="1"> <name>Jay</name> </author> <!-- There are more authors. --> </authors> Elementos Comentarios

5 Principales tecnologías XML
Definición de esquemas XML (XSD) Define la estructura requerida de un documento XML válido Extensible Stylesheet Language Transformation (XSLT) Transforma el contenido de un documento XML fuente en otro documento que es diferente en formato o estructura Lenguaje XML Path (XPath) Direcciona partes de un documento XML Document Object Model (DOM) Modelo de objetos para trabajar programáticamente con documentos XML en memoria XML Query (XQuery) Lenguaje de fácil implementación en el que las consultas son concisas y se entienden fácilmente

6 Lección: XML y el objeto DataSet
¿Por qué utilizar XML con DataSets? Descripción de XML y DataSets Métodos basados en XML del objeto DataSet Demostración: leer y escribir XML a/desde un DataSet Práctica: uso del método ReadXml Crear datos XML anidados Demostración: crear XML anidado

7 ¿Por qué utilizar XML con Datasets?
XML es el formato universal para intercambiar datos en Internet Los Datasets serializan datos en forma de XML XML proporciona un formato cómodo para transferir el contenido de un Dataset a/desde clientes remotos Los objetos XML sincronizan y transforman datos Legible por una persona Cortafuegos Servidor Web Archivo XML o Flujo Legible por el navegador DataSet Legible por un mainframe

8 Descripción de XML y DataSets
WriteXML Archivo XML ArchivoXML DataAdapter Doc.Save Objeto DataSet Objeto XmlDataDocument Base de datos Objeto XslTransform ReadXML ArchivoXML Archivo XML o HTML Archivo XSLT

9 Los métodos basados en XML del objeto DataSet
Utilizan ReadXml para cargar datos de un archivo o flujo Utilizan WriteXml para escribir datos XML a un archivo o flujo Utilizan GetXml para escribir datos a una variable de cadena DataSet ds = new DataSet(); ds.ReadXml(Server.MapPath("filename.xml")); DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter("select * from Authors", conn); da.Fill(ds); ds.WriteXml(Server.MapPath("filename.xml")); string strXmlDS = ds.GetXml(); Código de ejemplo de Visual Basic .NET

10 Demostración: leer y escribir XML a/desde un DataSet
Leer XML Crear un DataSet Cargar un DataSet desde un archivo XML Mostrar en un DataGrid Escribir XML Crear un DataSet desde la base de datos Crear un archivo XML desde un DataSet

11 Práctica: Uso del método ReadXml
Los estudiantes: Crearán un DataSet Cargarán un DataSet desde un archivo XML Lo mostrarán en un DataGrid Tiempo: 5 Minutos

12 Crear datos XML anidados
De forma predeterminada, la salida de DataTable es secuencial Para anidar XML, anidar DataRelation Secuencial Anidado Dim dr As New DataRelation _ ("name", parentCol, childCol) dr.Nested = True ds.Relations.Add(dr) DataRelation dr = new DataRelation("name", parentCol, childCol); dr.Nested = true; ds.Relations.Add(dr); <Title name="title1" /> <Title name="title2" /> <Title name="title3" /> <Publisher name="pub1" /> <Publisher name="pub2" /> <Publisher name="pub1" > <Title name="title1" /> <Title name="title3" /> </Publisher> <Publisher name="pub2" > <Title name="title2" />

13 Demostración: Crear XML anidado
WriteXml fuera de un DataSet sin anidación Visualizar el archivo XML resultante WriteXml fuera de un DataSet con anidación

14 Lección: trabajar con datos XML
Descripción de la sincronización de un DataSet con un XmlDataDocument Cómo sincronizar un DataSet con un XmlDataDocument Trabajar con un XmlDataDocument Transformar datos XML con XSLT Demostración: transformar datos con XSLT

15 Sincronización de un DataSet con un XmlDataDocument
System.Data System.Xml Transformaciones XML Base de datos Otros tipos de documentos XML Navegación por documentos XML DataAdapter DataSet XmlDataDocument Sincronizado Tablas

16 Cómo sincronizar un DataSet con un XmlDataDocument
Almacenar datos XML en un XmlDataDocument Almacenar un DataSet en un XmlDataDocument Dim objXmlDataDoc As New XmlDataDocument() objXmlDataDoc.Load(Server.MapPath ("file.xml")) -or- objXmlDataDoc.DataSet.ReadXml(Server.MapPath ("file.xml")) XmlDataDocument objXmlDataDoc = new XmlDataDocument(); objXmlDataDoc.Load(Server.MapPath ("file.xml")); -or- objXmlDataDoc.DataSet.ReadXml(Server.MapPath ("file.xml")); Dim ds As New DataSet() 'fill in ds Dim objXmlDataDoc As New XmlDataDocument(ds) DataSet ds = new DataSet(); //fill in ds objXmlDataDoc = new XmlDataDocument(ds);

17 Trabajar con un XmlDataDocument
Mostrar datos en un control enlazado a lista Extraer filas del Dataset como XML Utilizar métodos XML DOM XmlDataDocument hereda de XmlDocument Aplicar una transformación XSLT Objeto XslTransform dg.DataSource = objXmlDataDoc.DataSet dg.DataSource = objXmlDataDoc.DataSet; Dim elem As XmlElement elem = objXmlDataDoc.GetElementFromRow _ (ds.Tables(0).Rows(1)) XmlElement elem; elem = objXmlDataDoc.GetElementFromRow(ds.Tables[0].Rows[1]);

18 Transformar datos XML con XSLT
Crear un XmlDataDocument Crear el objeto XSLTransform e invocar el método Transform Dim ds As New DataSet() 'fill in DataSet ... Dim xmlDoc As New XmlDataDocument(ds) Dim xslTran As New XslTransform() xslTran.Load(Server.MapPath("PubTitles.xsl")) Dim writer As New XmlTextWriter _ (Server.MapPath("PubTitles_output.html"), _ System.Text.Encoding.UTF8) xslTran.Transform(xmlDoc, Nothing, writer) writer.Close() Código de ejemplo de #

19 Demostración: transformar datos con XSLT
Crear un DataSet con dos DataTables Crear XslTransform Transformar el documento DataSet en HTML

20 Lección: uso del control de Servidor Web XML
¿Qué es el control de Servidor Web XML? Cargar y guardar datos XML Demostración: uso del control de Servidor Web XML

21 ¿Qué es el control de Servidor Web XML?
Escribe a un documento XML Escribe el resultado de una transformación XSLT a una página Web <asp:Xml id="Xml1" Document="XmlDocument object to display" DocumentContent="String of XML" DocumentSource="Path to XML Document" Transform="XslTransform object" TransformSource="Path to XSL Document" runat="server"/>

22 Cargar y guardar datos XML
Control de Servidor Web XML (en el formulario Web Form) Cargar datos dinámicamente (en la página de código subyacente) Guardar datos (en la página de código subyacente) <asp:Xml id="xmlCtl" runat="server" /> xmlCtl.Document.Load(Server.MapPath("text.xml")) xmlCtl.Document.Load(Server.MapPath("text.xml")); xmlCtl.Document.Save(Server.MapPath("text.xml")) xmlCtl.Document.Save(Server.MapPath("text.xml"));

23 Demostración: uso del control de Servidor Web XML
Agregar el control de Servidor Web XML a un formulario Web Form Establecer la propiedad DocumentSource para leer un archivo XML Ver el resultado Establecer la propiedad TransformSource para leer un archivo XSLT


Descargar ppt "Leer y escribir datos XML"

Presentaciones similares


Anuncios Google