update tutorial servicio example español sql xml language-agnostic frameworks

tutorial - servicio rest sql server



¿Preguntando XML como SQL? (7)

XQuery es un lenguaje funcional que está más cerca de SQL. XPath es una notación para ubicar un nodo dentro del documento que se usa como parte de XSLT y XQuery.

Las bases de datos XML, como MarkLogic, sirven como motores XQuery para datos XML, del mismo modo que las bases de datos relacionales funcionan como motores SQL para datos relacionales.

¿Hay algún marco para consultar la sintaxis de SQL XML ?, me canso seriamente de iterar a través de las listas de nodos.

¿O es solo una ilusión (si no idiota) y ciertamente no es posible ya que XML no es una base de datos relacional?

XQuery y XPath ... XQuery es más lo que estás buscando si una estructura SQL es deseable.


XQuery es sin duda el camino a seguir. Esto es lo que utilizan las bases de datos XML como eXist y MarkLogic .

En el mundo de Java existen varias soluciones para ejecutar XQuery en archivos planos, más notablemente Saxon

Para .NET, no hay mucho disponible. Microsoft sí tenía una biblioteca XQuery, aunque esta fue extraída de .NET 2 y nunca ha resurgido. XQSharp es una alternativa .NET nativa, aunque actualmente solo se ha lanzado una versión de línea de comando.


Eso depende del problema que estás resolviendo. Si el archivo XML es bastante grande, a veces es necesario usar algo como los analizadores SAX para recorrer el nodo de archivo por nodo, o obtendrá OutOfMemoryException o se agotará incluso la memoria virtual en su computadora.

Pero, si el tamaño esperado del archivo XML es relativamente pequeño, puedes simplemente usar algo como Linq, también ver mi respuesta - aquí traté de explicar, cómo hacer que atravesar nodos sea mucho más fácil con construcciones como retorno de rendimiento .


.Net Framework proporciona LINQ para hacer esto o puede usar el espacio de nombres .Net System.Data para cargar datos desde archivos XML.

Incluso puede crear consultas que tengan combinaciones entre las tablas, etc.

Por ejemplo, System.Data.DataTable proporciona un método ReadXml() .


Puede probar LINQ a XML, pero no es independiente del idioma.


SQL Server 2005 es compatible con XML DML en su tipo de datos xml nativo.