SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Procesamiento de XML en C#
Jordán Pascual Espada
XML (Extensible Markup Language)
 Lenguaje de marcado que proporciona un formato para
describir datos estructurados.
Tecnologías relacionadas
 XSD Esquemas
 Define la estructura requerida de un documento XML
 DTD (Document Type Definition)
 Definición de los elementos que puede incluir un documento XML
 „XSLT Extensible Stylesheet Language Transformation
 Transforma el contenido de un documento XML
 XPath XML Path
 Lenguaje utilizado para referenciar elementos en los documentos XML.
 XQuery XML Query
 Lenguaje de consultas
XML en .Net C#
 Existen varias alternativas para procesar documentos XML:
 XmlReader / XmlWriter
 XmlDocument
 LINQ (XDocument, XElement,…)
XmlReader - XML .Net C#
 XmlReader proporciona métodos para el acceso rápido a datos
 No posee almacenamiento en caché
 Solamente permite recorrer los nodos hacia delante
XmlReader - XML .Net C#
<uno>
<dos>
<tres>Valor 1</tres>
</dos>
<dos>
<tres>Valor 2</tres>
</dos>
</uno>
XmlReader - XML .Net C#
<uno>
<dos>
<tres>Valor 1</tres>
</dos>
<dos>
<tres>Valor 2</tres>
</dos>
</uno>
XmlReader - XML .Net C#
<uno>
<dos>
<tres>Valor 1</tres>
</dos>
<dos>
<tres>Valor 2</tres>
</dos>
</uno>
- Tipo de Nodo
- Nombre
- Valor
- Atributos
XmlReader - XML .Net C#
1. Construir el XmlReader
XmlReader - XML .Net C#
2. Recorrer los elementos
Salto al siguiente Nodo
XmlReader - XML .Net C#
3. Recorrer los atributos
XmlNodeType
4. Procesar en función del tipo de Nodo XML
XmlNodeType Ejemplo Name Value Atrib
Element <libro>
<libro isbn=“9439234832844”>
x x
EndElement </libro> x
Text <titulo>El Aleph</titulo> x
XmlDeclaration <?xml version="1.0“ ?> x x
Processing
Instruction
<?xml-stylesheet type="text/xsl"?> x x
Comment <!-- Comentario --> x
XmlReader - XML .Net C#
4. Procesar en función del tipo de Nodo XML
Ejercicio
 Desarrollar una aplicación C# utilizando XMLReader capaz de
procesar todo el contenido de los ficheros:
 Pizza.xml
 Libros.xml
 Disponibles en el campus virtual
XmlDocument - XML .Net C#
 XmlDocument representa un documento XML
 Permite cargar archivos y secuencias XmlReader
 Ofrece diversos métodos para la manipulación del documento
 Load()
 GetElementsByTagName()
 AppendChild()
 CreateNode()
 RemoveChild()
 Save()
 …
 A partir del XmlDocument se pueden consultar y modificar los
nodos, elementos y atributos del documento XML.
XmlDocument - XML .Net C#
<uno>
<dos>
<tres>Valor 1</tres>
</dos>
<dos>
<tres>Valor 2</tres>
</dos>
</uno>
UNO
DOS
TRES
Valor1
DOS
TRES
Valor2
Árbol DOM
XmlDocument - XML .Net C#
<uno>
<dos>
<tres>Valor 1</tres>
</dos>
<dos>
<tres>Valor 2</tres>
</dos>
</uno>
doc . GetElementsByTagName(“tres”);
XmlNodeList
-XmlNode
-XmlNode
XmlDocument - XML .Net C#
<uno>
<dos>
<tres>Valor 1</tres>
</dos>
<dos>
<tres>Valor 2</tres>
</dos>
</uno>
XmlNodeList[0]
XmlNodeList[1]
XMLNode
¿Cuál es el nombre de los nodos?
XMLNodeList[0].Name -> tres
¿Cuál es el valor de los nodos?
XMLNodelist[0].Value = ?
XmlDocument - XML .Net C#
<uno>
<dos>
<tres>Valor 1</tres>
</dos>
<dos>
<tres>Valor 2</tres>
</dos>
</uno>
UNO
DOS
TRES
Valor1
DOS
TRES
Valor2
XmlDocument - XML .Net C#
<uno>
<dos>
<tres>Valor 1</tres>
</dos>
<dos>
<tres>Valor 2</tres>
</dos>
</uno>
XmlNodeList[0] .FirstChild.Value -> Valor 1
XmlNodeList[1] .FirstChild.Value -> Valor 2
XmlDocument - XML .Net C#
UNO
DOS
TRES
Valor1
DOS
TRES
Valor2
XmlDocument - XML .Net C#
 Carga de archivo
XmlDocument - XML .Net C#
 Elementos por nombre de etiqueta
XmlDocument - XML .Net C#
 Nombre y valor de un elemento
<Libro>
<titulo>
valor
Name: Libro
Value:
Name: titulo
Value:
Name:
Value: valor
XmlDocument - XML .Net C#
 Atributos de un elemento
Ejercicio
 Desarrollar una aplicación C# utilizando XMLDocument capaz
de procesar todos los nodos y atributos del fichero libros.xml
LINQ
 LINQ (Language-Integrated Query) conjunto de características
presentado en Visual Studio 2008
 Entre otras muchas cosas LINQ agrega capacidades de
consulta eficaces a la sintaxis de los lenguajes C# y Visual Basic.
 Incluye patrones estándar y de fácil aprendizaje para consultar
y actualizar datos.
 Su tecnología se puede extender para utilizar almacenes de
datos XML, “LINQ to XML”
LINQ to XML
 LINQ to XML interfaz de programación XML en memoria.
Habilitada para LINQ trabajar con XML desde .Net.
 Permite escribir consultas en el documento XML en memoria
para recuperar colecciones de elementos y atributos.
 Permite modificar y crear documentos XML en memoria (luego
puede ser guardado)
 Es diferente de DOM:
 Proporciona un nuevo modelo de objetos más ligero y fácil
 Aprovecha la potencia de los lenguajes .Net
LINQ to XML
 Cargar un documento XML utilizando Xelement
 Consultar todos los elementos del documento
LINQ to XML
 Consultar los elementos que coinciden con un nombre
LINQ to XML
 Consultar un atributo de los elementos que coinciden con un
nombre
LINQ to XML
 Consultar valores de los elementos que coinciden con un
nombre y tienen un elemento hijo con cierto valor.
Ejercicio LINQ to XML
 Realizar las siguientes consultas LINQ sobre el fichero
libros.xml
 Seleccionar todos los autores del documento
 Seleccionar los libros con clasificación literatura
 Seleccionar los libros con clasificación literatura e idioma Español
 Seleccionar el valor del título de los libros con idioma Inglés
 Seleccionar el valor del título y la clasificación de todos los libros

Más contenido relacionado

La actualidad más candente

Análise de Plataformas de Gestão de Conteúdos
Análise de Plataformas de Gestão de ConteúdosAnálise de Plataformas de Gestão de Conteúdos
Análise de Plataformas de Gestão de ConteúdosISCAP
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasRodrigo Branas
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebDaniel Brandão
 
Introdução à Análise de Sistemas - Parte II
Introdução à Análise de Sistemas - Parte IIIntrodução à Análise de Sistemas - Parte II
Introdução à Análise de Sistemas - Parte IINécio de Lima Veras
 
Scrum Roles : Scrum Master | Product Owner |Team
Scrum Roles : Scrum Master | Product Owner |TeamScrum Roles : Scrum Master | Product Owner |Team
Scrum Roles : Scrum Master | Product Owner |TeamSaket Bansal
 
08 algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 2
08   algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 208   algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 2
08 algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 2Roney Sousa
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosVitor Hugo Melo Araújo
 

La actualidad más candente (15)

Ai1617 ac-tp1-g4-a
Ai1617 ac-tp1-g4-aAi1617 ac-tp1-g4-a
Ai1617 ac-tp1-g4-a
 
Análise de Plataformas de Gestão de Conteúdos
Análise de Plataformas de Gestão de ConteúdosAnálise de Plataformas de Gestão de Conteúdos
Análise de Plataformas de Gestão de Conteúdos
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
 
Modelo documentacao-rede
Modelo documentacao-redeModelo documentacao-rede
Modelo documentacao-rede
 
Introdução ao HTML
Introdução ao HTMLIntrodução ao HTML
Introdução ao HTML
 
Introdução à Análise de Sistemas - Parte II
Introdução à Análise de Sistemas - Parte IIIntrodução à Análise de Sistemas - Parte II
Introdução à Análise de Sistemas - Parte II
 
SCRUM: How to implements
SCRUM: How to implementsSCRUM: How to implements
SCRUM: How to implements
 
Scrum Roles : Scrum Master | Product Owner |Team
Scrum Roles : Scrum Master | Product Owner |TeamScrum Roles : Scrum Master | Product Owner |Team
Scrum Roles : Scrum Master | Product Owner |Team
 
Aula 06 - Diagrama de classes
Aula 06 - Diagrama de classesAula 06 - Diagrama de classes
Aula 06 - Diagrama de classes
 
08 algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 2
08   algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 208   algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 2
08 algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 2
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de Dados
 
Servidor web
Servidor webServidor web
Servidor web
 
Scrum
ScrumScrum
Scrum
 
Internet, intranet e extranets
Internet, intranet e extranetsInternet, intranet e extranets
Internet, intranet e extranets
 

Destacado

Desarrollo de Videojuegos Android con Cocos2D
Desarrollo de Videojuegos Android con Cocos2DDesarrollo de Videojuegos Android con Cocos2D
Desarrollo de Videojuegos Android con Cocos2DJordan-P
 
C# Advanced L03-XML+LINQ to XML
C# Advanced L03-XML+LINQ to XMLC# Advanced L03-XML+LINQ to XML
C# Advanced L03-XML+LINQ to XMLMohammad Shaker
 
Badillo riosyortizdelaluz
Badillo riosyortizdelaluzBadillo riosyortizdelaluz
Badillo riosyortizdelaluzVivi LeFlo
 
XML en .NET
XML en .NETXML en .NET
XML en .NETbrobelo
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regularesJordan-P
 
Introduction to xml
Introduction to xmlIntroduction to xml
Introduction to xmlGtu Booker
 

Destacado (11)

Desarrollo de Videojuegos Android con Cocos2D
Desarrollo de Videojuegos Android con Cocos2DDesarrollo de Videojuegos Android con Cocos2D
Desarrollo de Videojuegos Android con Cocos2D
 
C# Advanced L03-XML+LINQ to XML
C# Advanced L03-XML+LINQ to XMLC# Advanced L03-XML+LINQ to XML
C# Advanced L03-XML+LINQ to XML
 
Badillo riosyortizdelaluz
Badillo riosyortizdelaluzBadillo riosyortizdelaluz
Badillo riosyortizdelaluz
 
XML en .NET
XML en .NETXML en .NET
XML en .NET
 
MANUAL C#
MANUAL C#MANUAL C#
MANUAL C#
 
Trabajo de calculo numerico
Trabajo de calculo numericoTrabajo de calculo numerico
Trabajo de calculo numerico
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Introduction to xml
Introduction to xmlIntroduction to xml
Introduction to xml
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
Xml ppt
Xml pptXml ppt
Xml ppt
 
Bases de Datos XML
Bases de Datos XMLBases de Datos XML
Bases de Datos XML
 

Similar a Procesamiento de XML en C#

XML y RDF en Web Semántica
XML y RDF en Web SemánticaXML y RDF en Web Semántica
XML y RDF en Web Semánticaguest86406e2
 
Presentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.pptPresentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.pptprofesoralpe4
 
Tema 3 xml processing ap is
Tema 3   xml processing ap isTema 3   xml processing ap is
Tema 3 xml processing ap isxkorpium
 
Presentación1 bricio vera
Presentación1 bricio veraPresentación1 bricio vera
Presentación1 bricio verabricio28
 
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...Liz Ocampo
 
Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5Jorge Ulises
 
Guía+básica+de+características+de+archivos+.pdf
Guía+básica+de+características+de+archivos+.pdfGuía+básica+de+características+de+archivos+.pdf
Guía+básica+de+características+de+archivos+.pdfpolyy1
 
Edición Digital: Lenguajes de marcado
Edición Digital: Lenguajes de marcadoEdición Digital: Lenguajes de marcado
Edición Digital: Lenguajes de marcadoJesús Tramullas
 
GestoXML: Sistema de Gestión Documental basado en XML
GestoXML: Sistema de Gestión Documental basado en XMLGestoXML: Sistema de Gestión Documental basado en XML
GestoXML: Sistema de Gestión Documental basado en XMLToni Martínez Carballo
 

Similar a Procesamiento de XML en C# (20)

XML Y RDF En Web SemáNtica
XML Y RDF En Web SemáNticaXML Y RDF En Web SemáNtica
XML Y RDF En Web SemáNtica
 
XML y RDF en Web Semántica
XML y RDF en Web SemánticaXML y RDF en Web Semántica
XML y RDF en Web Semántica
 
Presentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.pptPresentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.ppt
 
Tema 3 xml processing ap is
Tema 3   xml processing ap isTema 3   xml processing ap is
Tema 3 xml processing ap is
 
Presentación1 bricio vera
Presentación1 bricio veraPresentación1 bricio vera
Presentación1 bricio vera
 
Tema 2
Tema 2Tema 2
Tema 2
 
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
Capitulo 27 (XML: Lenguaje de mercado extendible) y Capítulo 28 (Conceptos de...
 
Lenguaje XML
Lenguaje XMLLenguaje XML
Lenguaje XML
 
Xml 3a6 jairon rodriguez
Xml 3a6 jairon rodriguezXml 3a6 jairon rodriguez
Xml 3a6 jairon rodriguez
 
Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5
 
Xml presentacin
Xml presentacinXml presentacin
Xml presentacin
 
Guía+básica+de+características+de+archivos+.pdf
Guía+básica+de+características+de+archivos+.pdfGuía+básica+de+características+de+archivos+.pdf
Guía+básica+de+características+de+archivos+.pdf
 
Lenguajes de marcado
Lenguajes de marcadoLenguajes de marcado
Lenguajes de marcado
 
Edición Digital: Lenguajes de marcado
Edición Digital: Lenguajes de marcadoEdición Digital: Lenguajes de marcado
Edición Digital: Lenguajes de marcado
 
Web services y java
Web services y javaWeb services y java
Web services y java
 
Datos En La Web - Clase 2
Datos En La Web - Clase 2Datos En La Web - Clase 2
Datos En La Web - Clase 2
 
Ead aplicaciones prácticas
Ead aplicaciones prácticasEad aplicaciones prácticas
Ead aplicaciones prácticas
 
Tutor javawebparte2
Tutor javawebparte2Tutor javawebparte2
Tutor javawebparte2
 
GestoXML: Sistema de Gestión Documental basado en XML
GestoXML: Sistema de Gestión Documental basado en XMLGestoXML: Sistema de Gestión Documental basado en XML
GestoXML: Sistema de Gestión Documental basado en XML
 
XML Básico
XML BásicoXML Básico
XML Básico
 

Último

Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)veganet
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 

Último (20)

Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 

Procesamiento de XML en C#

  • 1. Procesamiento de XML en C# Jordán Pascual Espada
  • 2. XML (Extensible Markup Language)  Lenguaje de marcado que proporciona un formato para describir datos estructurados.
  • 3. Tecnologías relacionadas  XSD Esquemas  Define la estructura requerida de un documento XML  DTD (Document Type Definition)  Definición de los elementos que puede incluir un documento XML  „XSLT Extensible Stylesheet Language Transformation  Transforma el contenido de un documento XML  XPath XML Path  Lenguaje utilizado para referenciar elementos en los documentos XML.  XQuery XML Query  Lenguaje de consultas
  • 4. XML en .Net C#  Existen varias alternativas para procesar documentos XML:  XmlReader / XmlWriter  XmlDocument  LINQ (XDocument, XElement,…)
  • 5. XmlReader - XML .Net C#  XmlReader proporciona métodos para el acceso rápido a datos  No posee almacenamiento en caché  Solamente permite recorrer los nodos hacia delante
  • 6. XmlReader - XML .Net C# <uno> <dos> <tres>Valor 1</tres> </dos> <dos> <tres>Valor 2</tres> </dos> </uno>
  • 7. XmlReader - XML .Net C# <uno> <dos> <tres>Valor 1</tres> </dos> <dos> <tres>Valor 2</tres> </dos> </uno>
  • 8. XmlReader - XML .Net C# <uno> <dos> <tres>Valor 1</tres> </dos> <dos> <tres>Valor 2</tres> </dos> </uno> - Tipo de Nodo - Nombre - Valor - Atributos
  • 9. XmlReader - XML .Net C# 1. Construir el XmlReader
  • 10. XmlReader - XML .Net C# 2. Recorrer los elementos Salto al siguiente Nodo
  • 11. XmlReader - XML .Net C# 3. Recorrer los atributos
  • 12. XmlNodeType 4. Procesar en función del tipo de Nodo XML XmlNodeType Ejemplo Name Value Atrib Element <libro> <libro isbn=“9439234832844”> x x EndElement </libro> x Text <titulo>El Aleph</titulo> x XmlDeclaration <?xml version="1.0“ ?> x x Processing Instruction <?xml-stylesheet type="text/xsl"?> x x Comment <!-- Comentario --> x
  • 13. XmlReader - XML .Net C# 4. Procesar en función del tipo de Nodo XML
  • 14. Ejercicio  Desarrollar una aplicación C# utilizando XMLReader capaz de procesar todo el contenido de los ficheros:  Pizza.xml  Libros.xml  Disponibles en el campus virtual
  • 15. XmlDocument - XML .Net C#  XmlDocument representa un documento XML  Permite cargar archivos y secuencias XmlReader  Ofrece diversos métodos para la manipulación del documento  Load()  GetElementsByTagName()  AppendChild()  CreateNode()  RemoveChild()  Save()  …  A partir del XmlDocument se pueden consultar y modificar los nodos, elementos y atributos del documento XML.
  • 16. XmlDocument - XML .Net C# <uno> <dos> <tres>Valor 1</tres> </dos> <dos> <tres>Valor 2</tres> </dos> </uno> UNO DOS TRES Valor1 DOS TRES Valor2 Árbol DOM
  • 17. XmlDocument - XML .Net C# <uno> <dos> <tres>Valor 1</tres> </dos> <dos> <tres>Valor 2</tres> </dos> </uno> doc . GetElementsByTagName(“tres”); XmlNodeList -XmlNode -XmlNode
  • 18. XmlDocument - XML .Net C# <uno> <dos> <tres>Valor 1</tres> </dos> <dos> <tres>Valor 2</tres> </dos> </uno> XmlNodeList[0] XmlNodeList[1] XMLNode ¿Cuál es el nombre de los nodos? XMLNodeList[0].Name -> tres ¿Cuál es el valor de los nodos? XMLNodelist[0].Value = ?
  • 19. XmlDocument - XML .Net C# <uno> <dos> <tres>Valor 1</tres> </dos> <dos> <tres>Valor 2</tres> </dos> </uno> UNO DOS TRES Valor1 DOS TRES Valor2
  • 20. XmlDocument - XML .Net C# <uno> <dos> <tres>Valor 1</tres> </dos> <dos> <tres>Valor 2</tres> </dos> </uno> XmlNodeList[0] .FirstChild.Value -> Valor 1 XmlNodeList[1] .FirstChild.Value -> Valor 2
  • 21. XmlDocument - XML .Net C# UNO DOS TRES Valor1 DOS TRES Valor2
  • 22. XmlDocument - XML .Net C#  Carga de archivo
  • 23. XmlDocument - XML .Net C#  Elementos por nombre de etiqueta
  • 24. XmlDocument - XML .Net C#  Nombre y valor de un elemento <Libro> <titulo> valor Name: Libro Value: Name: titulo Value: Name: Value: valor
  • 25. XmlDocument - XML .Net C#  Atributos de un elemento
  • 26. Ejercicio  Desarrollar una aplicación C# utilizando XMLDocument capaz de procesar todos los nodos y atributos del fichero libros.xml
  • 27. LINQ  LINQ (Language-Integrated Query) conjunto de características presentado en Visual Studio 2008  Entre otras muchas cosas LINQ agrega capacidades de consulta eficaces a la sintaxis de los lenguajes C# y Visual Basic.  Incluye patrones estándar y de fácil aprendizaje para consultar y actualizar datos.  Su tecnología se puede extender para utilizar almacenes de datos XML, “LINQ to XML”
  • 28. LINQ to XML  LINQ to XML interfaz de programación XML en memoria. Habilitada para LINQ trabajar con XML desde .Net.  Permite escribir consultas en el documento XML en memoria para recuperar colecciones de elementos y atributos.  Permite modificar y crear documentos XML en memoria (luego puede ser guardado)  Es diferente de DOM:  Proporciona un nuevo modelo de objetos más ligero y fácil  Aprovecha la potencia de los lenguajes .Net
  • 29. LINQ to XML  Cargar un documento XML utilizando Xelement  Consultar todos los elementos del documento
  • 30. LINQ to XML  Consultar los elementos que coinciden con un nombre
  • 31. LINQ to XML  Consultar un atributo de los elementos que coinciden con un nombre
  • 32. LINQ to XML  Consultar valores de los elementos que coinciden con un nombre y tienen un elemento hijo con cierto valor.
  • 33. Ejercicio LINQ to XML  Realizar las siguientes consultas LINQ sobre el fichero libros.xml  Seleccionar todos los autores del documento  Seleccionar los libros con clasificación literatura  Seleccionar los libros con clasificación literatura e idioma Español  Seleccionar el valor del título de los libros con idioma Inglés  Seleccionar el valor del título y la clasificación de todos los libros