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 (15)

Walmart Origen y estrategia logística
Walmart Origen y estrategia logísticaWalmart Origen y estrategia logística
Walmart Origen y estrategia logística
 
Caso de estudio abarrotes
Caso de estudio abarrotesCaso de estudio abarrotes
Caso de estudio abarrotes
 
Medios de manipulacion y transporte interno de mercancias
Medios de manipulacion y transporte interno de mercanciasMedios de manipulacion y transporte interno de mercancias
Medios de manipulacion y transporte interno de mercancias
 
Mixing Objective-C, Swift and Japan
Mixing Objective-C, Swift and JapanMixing Objective-C, Swift and Japan
Mixing Objective-C, Swift and Japan
 
Diapositivas de recibo y despacho
Diapositivas de recibo y despachoDiapositivas de recibo y despacho
Diapositivas de recibo y despacho
 
Cadena de suministro
Cadena de suministro Cadena de suministro
Cadena de suministro
 
Foro 1 procesos lineales e intermitentes
Foro 1  procesos lineales e intermitentesForo 1  procesos lineales e intermitentes
Foro 1 procesos lineales e intermitentes
 
Exposicion opex
Exposicion opexExposicion opex
Exposicion opex
 
Protocolo http
Protocolo httpProtocolo http
Protocolo http
 
Manufactura Esbelta
Manufactura EsbeltaManufactura Esbelta
Manufactura Esbelta
 
Caso practico gestion_de_almacen_grupo_d
Caso practico gestion_de_almacen_grupo_dCaso practico gestion_de_almacen_grupo_d
Caso practico gestion_de_almacen_grupo_d
 
Logistica internacional
Logistica internacionalLogistica internacional
Logistica internacional
 
Gestion de almacenes
Gestion de almacenesGestion de almacenes
Gestion de almacenes
 
Redes y demanda de transporte
Redes y demanda de transporteRedes y demanda de transporte
Redes y demanda de transporte
 
Equipos de recepcion de mercancias
Equipos de recepcion de mercanciasEquipos de recepcion de mercancias
Equipos de recepcion de mercancias
 

Destacado

XML en .NET
XML en .NETXML en .NET
XML en .NET
brobelo
 

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#

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
profesoralpe4
 
Presentación1 bricio vera
Presentación1 bricio veraPresentación1 bricio vera
Presentación1 bricio vera
bricio28
 
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
Toni 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

NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 

Último (20)

Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 

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