Question

Existe-t-il un cadre pour l’interrogation de la syntaxe XML SQL, je me lasse sérieusement de parcourir les listes de nœuds.


Ou est-ce juste un voeu pieux (sinon idiot) et certainement pas possible puisque XML n'est pas une base de données relationnelle?

Était-ce utile?

La solution

XQuery et XPath ... XQuery est ce que vous recherchez si une structure SQL est souhaitable.

Autres conseils

Vous pouvez essayer LINQ to XML, mais ce n'est pas indépendant du langage.

.Net Framework fournit à LINQ cette possibilité ou vous pouvez utiliser l'espace de noms .Net System.Data pour charger des données à partir de fichiers XML.

Vous pouvez même créer des requêtes comportant des jointures entre les tables, etc.

Par exemple, System.Data.DataTable fournit une méthode ReadXml () .

XQuery est un langage fonctionnel le plus proche de SQL. XPath est une notation permettant de localiser un nœud dans le document utilisé dans le cadre de XSLT et XQuery. .

Les bases de données XML telles que MarkLogic servent de moteurs XQuery pour les données XML, tout comme les bases de données relationnelles servent de SQL moteurs de données relationnelles.

Cela dépend du problème que vous résolvez. Si le fichier XML est volumineux, il est parfois nécessaire d’utiliser des éléments tels que les analyseurs SAX pour parcourir le fichier noeud par noeud. Sinon, vous obtiendrez OutOfMemoryException ou vous n’aurez plus assez de mémoire virtuelle sur votre ordinateur.

Toutefois, si la taille attendue d'un fichier XML est relativement petite, vous pouvez simplement utiliser quelque chose comme Linq. Voir aussi mon réponse - j'ai essayé d'expliquer comment rendre la traversée de nœuds beaucoup plus facile avec des constructions telles que rendement retourner .

SQL Server 2005 prend en charge le XML DML sur son code xml type de données.

XQuery est certainement la voie à suivre. C’est ce qui est utilisé par les bases de données XML telles que eXist et MarkLogic .

Dans le monde Java, il existe plusieurs solutions pour exécuter XQuery sur des fichiers plats, notamment Saxon

Pour .NET, il n’ya pas tellement de ressources disponibles. Microsoft avait une bibliothèque XQuery, bien que celle-ci ait été extraite de .NET 2 et qu’elle n’ait jamais refait surface. XQSharp est une alternative native .NET, bien que seule une version en ligne de commande ait été publiée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top