Compartir a través de


Transformación funcional de XML (LINQ to XML)

Este artículo trata sobre el enfoque de transformación funcional pura para modificar documentos XML, comparándolo con el enfoque basado en procedimientos.

Modificar un documento XML

Una de las tareas más comunes que deben llevar a cabo los programadores de XML es la de transformar XML de una forma a otra. La forma de un documento XML es la estructura del documento, que incluye lo siguiente:

  • La jerarquía expresada por el documento.
  • Los nombres de elementos y atributos.
  • Los tipos de datos de los elementos y atributos.

En general, la aproximación que resulta más efectiva a la hora de transformar un XML de una forma a otra, es realizar una transformación funcional pura. De esta forma, la principal tarea del programador es crear una transformación que se aplique a todo el documento XML (o a uno o más nodos estrictamente definidos). Se puede argüir que la transformación funcional es la más sencilla de programar (siempre y cuando el programador esté familiarizado con esta técnica), que genera un código muy fácil de mantener y que, a menudo, es una alternativa más compacta que las otras.

Tecnologías de transformación funcional de XML

Microsoft ofrece dos tecnologías de transformación funcional que se pueden usar con documentos XML: XSLT y LINQ to XML. XSLT se proporciona a través del espacio de nombres administrado System.Xml.Xsl y de la implementación nativa COM de MSXML. Aunque XSLT es una tecnología robusta para manipular documentos XML, requiere experiencia en un campo muy especializado, el lenguaje XSLT y sus API de apoyo.

LINQ to XML proporciona las herramientas necesarias para programar potentes transformaciones funcionales puras mediante expresiones, utilizando código C# o Visual Basic. Por ejemplo, muchos de los ejemplos incluidos en la documentación de LINQ to XML utilizan una aproximación funcional pura. Además, en el Tutorial: Manipulación de contenido en un documento WordprocessingML, usamos LINQ to XML con un enfoque funcional para manipular la información de un documento de Microsoft Word.

Para obtener una comparación más completa entre LINQ to XML y otras tecnologías XML de Microsoft, consulte LINQ to XML vs. otras tecnologías XML.

XSLT es la herramienta recomendada para transformaciones centradas en documentos cuando el documento de origen tenga una estructura irregular. No obstante, LINQ to XML también puede realizar transformaciones basadas en el documento. Para más información, consulte Cómo usar anotaciones para transformar árboles de LINQ to XML en un estilo XSLT.

Consulte también