Pergunta

Existe alguma estrutura para consultar a sintaxe XML SQL, eu me canso seriamente de itentar por listas de nós.


Ou isso é apenas uma ilusão (se não idiota) e certamente não é possível, pois o XML não é um banco de dados relacional?

Foi útil?

Solução

XQuery E XPath ... XQuery é mais o que você está procurando se uma estrutura SQL é desejável.

Outras dicas

Você pode tentar o LINQ para XML, mas não é um idioma agnóstico.

O .NET Framework fornece LINQ para fazer isso ou você pode usar o espaço para nome do .NET System.Data para carregar dados dos arquivos XML.

Você pode até criar consultas que se juntam entre as mesas, etc.

Por exemplo, System.Data.Datatable fornece um ReadXml() método.

XQuery é uma linguagem funcional mais próxima do SQL. Xpath é uma notação para localizar um nó dentro do documento usado como parte do XSLT e XQuery.

Bancos de dados XML, como Marklogic Sirva como mecanismos XQuery para dados XML, assim como os bancos de dados relacionais servem como mecanismos SQL para dados relacionais.

Isso depende do problema que você está resolvendo. Se o arquivo XML for bastante grande, às vezes é uma necessidade usar algo como analisadores sax para atravessar o nó do arquivo por nó, ou você obterá o OutofMemoryException ou acabará com a memória virtual no seu computador.

Mas, se o tamanho esperado do arquivo XML for relativamente pequeno, você pode simplesmente usar algo como Linq, também veja meu responda - Aqui tentei explicar, como facilitar muito os nós dos nós com construções como Retorno de rendimento.

Suportes do SQL Server 2005 XML DML em seu nativo xml tipo de dados.

XQuery é certamente o caminho a seguir. Isso é o que é usado por bancos de dados XML como existir e Marklogic.

No mundo Java, existem várias soluções para executar o XQuery em arquivos planos, principalmente saxão

Para .NET, não há tanto disponível. A Microsoft tinha uma biblioteca XQuery, embora isso tenha sido retirado do .NET 2 e nunca tenha ressurgido. XQSharp é uma alternativa nativa .NET, embora atualmente apenas uma versão da linha de comando tenha sido lançada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top