質問

XML SQL構文を照会するためのフレームワークはありますか。ノードリストを繰り返し処理するのは大変です。


または、これは単なる希望的観測(ばかげていない場合)であり、XMLはリレーショナルデータベースではないため、確かに不可能でしょうか?

役に立ちましたか?

解決

XQuery およびXPath ... SQL構造が望ましい。

他のヒント

LINQ to XMLを試すことはできますが、言語に依存しません。

.Net Frameworkはこれを行うためのLINQを提供します。または、.Net System.Data名前空間を使用してXMLファイルからデータをロードできます。

テーブル間の結合などを含むクエリを作成することもできます。

たとえば、System.Data.DataTableは ReadXml()メソッドを提供します。

XQuery は、SQLに最も近い関数型言語です。 XPath は、XSLTおよびXQueryの一部として使用されるドキュメント内のノードを見つけるための表記法です。 。

MarkLogic などのXMLデータベースは、リレーショナルデータベースがSQLとして機能するのと同様に、XMLデータのXQueryエンジンとして機能します。リレーショナルデータのエンジン。

これは、解決しようとしている問題によって異なります。 XMLファイルが非常に大きい場合、SAXパーサーなどを使用してノードごとにファイルをトラバースする必要がある場合があります。そうしないと、OutOfMemoryExceptionが発生したり、コンピューターの仮想メモリが不足したりします。

しかし、予想されるXMLファイルのサイズが比較的小さい場合は、Linqのようなものを使用できます。私の回答-ここでは、 yieldのような構造を使用して、ノードの移動をはるかに簡単にする方法を説明しようとしました。戻る

SQL Server 2005は、ネイティブ XML DML をサポートしています。 > xml データ型。

XQueryは確かに前進の道です。これは、 eXist MarkLogic

Javaの世界では、フラットファイルでXQueryを実行するためのソリューションがいくつかあります。最も顕著なのは Saxon

.NETの場合、利用できるものはあまりありません。 MicrosoftにはXQueryライブラリがありましたが、これは.NET 2から引き出されたものであり、再登場することはありません。 XQSharp はネイティブの.NETの代替手段ですが、現在はコマンドラインバージョンのみがリリースされています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top