¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. C# 8 y Visual Studio 2019
  3. XML
Extrait - C# 8 y Visual Studio 2019 Los fundamentos del lenguaje
Extractos del libro
C# 8 y Visual Studio 2019 Los fundamentos del lenguaje
1 opinión
Volver a la página de compra del libro

XML

Presentación

XML (eXtensible Markup Language) es un lenguaje de descripción de datos diseñado y estandarizado por el W3C (World Wide Web Consortium) cuya primera versión se corresponde con la especificación publicada a principios del año 1998.

El lenguaje XML es un lenguaje de etiquetado que permite describir la información de una manera estructurada, coherente y, sobre todo, portable. El formato está, en efecto, basado en texto bruto, lo que autoriza su lectura en cualquier tipo de soporte, sin verse alterado. Estas cualidades hacen de XML un formato preferente para el intercambio de información entre aplicaciones, incluso entre sistemas.

En un documento en formato XML, cada uno de los datos se representa mediante una etiqueta o un atributo situado dentro de un árbol. Las distintas etiquetas pueden estar anidadas de manera que exista una relación de parentesco entre dos elementos. Los atributos permiten vincular diversa información dentro de la misma etiqueta.

La estructura de un archivo XML lo sitúa en la misma categoría que el lenguaje HTML. Existen ciertas diferencias fundamentales respecto a este lenguaje:

  • XML es un lenguaje extensible, a diferencia de HTML que no utiliza un conjunto fijo predefinido de etiquetas.

  • HTML es un lenguaje concebido para la presentación de datos. Los documentos XML no tienen ninguna vocación concreta para...

Estructura de un archivo XML

Antes de entrar a ver cómo manipular este formato con C# y la plataforma .NET, detallaremos los distintos elementos de la estructura de un archivo XML.

1. Componentes de un documento XML

Un documento XML está compuesto por los tipos de bloques siguientes:

Instrucciones de procesamiento

Las instrucciones de procesamiento permiten agregar información destinada al procesador XML o a cualquier otro programa en el cuerpo del documento. Estas instrucciones deben respetar una sintaxis particular:

<?programa instrucción ?> 

La primera parte de esta instrucción de procesamiento indica el nombre del programa destinado a tratarla. La segunda parte proporciona la instrucción propiamente dicha.

Un documento XML contiene, generalmente, una instrucción de procesamiento especial que indica la versión del formato XML que utiliza así como el juego de caracteres utilizado para realizar la codificación del documento.

<?xml version="1.0" encoding="utf-8" ?> 

Comentarios

Como con C#, es posible incluir comentarios en el código XML. Estos están destinados a los usuarios, generalmente para ayudarles a comprender la estructura o el contenido del documento. Se ignoran en cualquier programa que manipule el código.

La sintaxis de definición de comentarios XML es idéntica a la sintaxis utilizada para los comentarios HTML:

<!-- Este texto es un comentario, que ignora el procesador XML  --> 

Elementos

Los elementos están compuestos por una etiqueta de apertura y una etiqueta de cierre. Pueden contener datos en forma de cadena de caracteres, uno o varios elementos, o bien atributos. La sintaxis que permite crear un elemento XML es la siguiente:

<nombreElemento>contenido</nombreElemento> 

Existen ciertas reglas que deben respetarse relativas a los elementos:

  • Los nombres de los elementos no deben contener espacios, no pueden empezar por xml, por una cifra o por un signo de puntuación.

  • Las etiquetas de inicio y de fin deben tener las mismas mayúsculas y minúsculas. 

  • Los nombres de los elementos deben comenzar tras el símbolo <, sin dejar espacio.

  • Un documento XML debe contener como mínimo un elemento: el elemento raíz del documento.

  • Si un elemento no tiene contenido, puede tener la forma <nombreElemento...

Manipular un documento XML

El framework .NET expone dos API cuyo objetivo es manipular documentos XML.

El modelo DOM existe desde los inicios del framework .NET y está basado en las recomendaciones de W3C. Cada etiqueta, atributo o contenido textual que forman parte del documento XML se considera como un nodo de una estructura jerárquica. La búsqueda de un nodo mediante esta API puede realizarse manualmente o mediante la navegación XPath. Las funcionalidades del modelo DOM se implementan en los tipos del espacio de nombres System.Xml.

La aparición de la versión 3.5 del framework .NET introduce LINQ to XML, que utiliza por su parte un enfoque más moderno. Las etiquetas, atributos o espacios de nombres se consideran como elementos que pueden existir independientemente, lo que permite procesar fácilmente fragmentos de código XML. Es posible interrogar a estos elementos de la misma manera que se interroga a una base de datos mediante consultas LINQ. Los tipos asociados a esta API se implementan en el espacio de nombres System.Xml.Linq.

Los ejemplos expuestos en esta sección están realizados a partir del archivo pedidos.xml cuyo contenido es el siguiente:

<?xml version="1.0" encoding="utf-8"?>  
<Clientes web="http://www.miempresa.com/clientes/web">  
 <web:Cliente Id="ALFKI">  
   <Empresa>Alfreds Futterkiste</Empresa>  
   <NombreContacto>Alfreds Maria Anders</NombreContacto>  
   <Direccion>Obere Str. 57</Direccion>  
   <CodigoPostal>12209</CodigoPostal>  
   <Ciudad>Berlín</Ciudad>  
   <UltimoPedido Fecha="09/04/1998">  
     <Productos>  
       <Producto>  
         <Nombre>Naranjas de mesa</Nombre>  
         <PrecioUnitario>1,25</PrecioUnitario>  
         <Cantidad>40</Cantidad>  
       </Producto>  
       <Producto>  
         <Nombre>Aceite de oliva virgen extra</Nombre>  ...