Frage

Gibt es ein Framework für die Abfrage von XML SQL -Syntax?


Oder ist dies nur Wunschdenken (wenn nicht idiotisch) und sicherlich nicht möglich, da XML keine relationale Datenbank ist?

War es hilfreich?

Lösung

XQuery Und XPath ... XQuery ist mehr das, wonach Sie suchen, wenn eine SQL -Struktur wünschenswert ist.

Andere Tipps

Sie könnten Linq zu XML versuchen, aber es ist keine Sprache agnostisch.

.NET Framework bietet LINQ dazu, oder Sie können den Namespace .NET System.Data verwenden, um Daten aus XML -Dateien zu laden.

Sie können sogar Abfragen erstellen, die sich zwischen den Tischen usw. verbinden, usw.

Zum Beispiel bietet System.data.Datatable a ReadXml() Methode.

XQuery ist eine funktionale Sprache, die SQL am nächsten ist. XPath ist eine Notation, um einen Knoten innerhalb des Dokuments zu lokalisieren, der als Teil von XSLT und XQuery verwendet wird.

XML -Datenbanken wie z. Marklogic Als XQuery -Engines für XML -Daten dienen relationalen Datenbanken als SQL -Motoren für relationale Daten dienen.

Das hängt von dem Problem ab, das Sie lösen. Wenn die XML -Datei ziemlich groß ist, ist es manchmal eine Notwendigkeit, so etwas wie SAX -Parser zu verwenden, um den Dateiknoten mit dem Knoten zu durchqueren, oder Sie werden die MemoryException aussteigen oder auch auch aus virtuellem Speicher auf Ihrem Computer ausgehen.

Wenn jedoch die erwartete Größe der XML -Datei relativ klein ist, können Sie einfach so etwas wie Linq verwenden, auch meine sehen Antworten - Hier versuchte ich zu erklären, wie man durch Konstruktionen wie durch das Durchlaufen durch Knoten viel einfacher wird Rendite Rendite.

SQL Server 2005 supports XML DML on it's native xml data type.

XQuery is certainly the way forward. This is what is used by XML databases like eXist and MarkLogic.

In the Java world there are several solutions for running XQuery on flat files, most notably Saxon

For .NET, there is not so much available. Microsoft did have an XQuery library, although this was pulled from .NET 2 and has never resurfaced. XQSharp is a native .NET alternative, although currently only a command line version has been released.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top