SlideShare a Scribd company logo
1 of 33
Download to read offline
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

More Related Content

Viewers also liked

Viewers also liked (6)

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 to 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 to 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
 

Recently uploaded

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
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfluisantoniocruzcorte1
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
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
 
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
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariamarco carlos cuyo
 
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
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 

Recently uploaded (20)

Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
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
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
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
 
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
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundaria
 
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
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
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
 

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