2010-07-10 12 views
5

Estoy tratando de procesar en xml y estoy tan cansado de trabajar con clases de espacio de nombres Xml. Lo encontré realmente difícil.LinqToXml O Xml?

Así que estoy tratando de hacer las mismas cosas con las clases de LinqtoXml y veo que hay muchas cosas posibles con LinqtoXml en lugar de clases Xml. Entonces realmente me confundo lo que tengo que usar.

¿Cuándo y por qué prefiere las clases Xml en lugar de las clases LinqtoXml?

Editar:

Lo que no es posible hacerlo con LinqToXml cuando es posible con clases XML?

+0

L2X es una forma más fácil de acceder a su XML. No sé de ninguna diferencia, pero me encantaría saber si hay alguna. Utilizo Linq 2 SQL todo el tiempo y reduce en gran medida la carga de trabajo de construir un DAL, y no sé de ninguna diferencia en eso tampoco. –

+0

Nunca necesita clases Xml mientras usa L2X y este es el punto que L2X tiene capacidad para todo o mucho de Xml – Freshblood

+0

que no es verdad (vea mi respuesta) –

Respuesta

8

Los métodos generales utilizados para manipular y procesar datos XML estaban disponibles desde la primera versión de .NET Framework. Linq está disponible desde .NET Framework 3.5. Esa es una de las razones para usar clases simples Xml si se dirige a una versión anterior de .NET Framework.

Linq to Xml también tiene un enfoque diferente. Se trata más de consultar datos XML y no leerlos. Entonces, en algunas situaciones, Linq to Xml será la forma más fácil de hacer las cosas, pero no en cada situación. La facilidad de Linq a Xml también puede ser una mala cosa si es utilizada por un desarrollador no calificado: es, en mi humilde opinión, mucho más fácil producir código con enormes problemas de rendimiento con Linq que sin él.

3

Trabajando exclusivamente en el LINQ al espacio XML es bueno para consultar (el Q en LINQ), y la proyección de los datos XML originales en nuevos estructuras, pero es difícil de manejar en algunos casos e imposible en otros a manipular el XML directamente

Se puede argumentar que en muchos casos esto sigue siendo bueno, ya que la inmutabilidad reduce la posibilidad de algunos tipos de errores, pero definitivamente puede tener costos, no alineándose perfectamente con cada situación, y algunas veces con el rendimiento.

Cuestiones relacionadas