XML SQL 構文をクエリするためのフレームワークはありますか? ノード リストを繰り返し処理するのは本当に面倒です。
それとも、これは単なる希望的観測 (ばかげていない場合) であり、XML はリレーショナル データベースではないため不可能なのでしょうか?
XML SQL 構文をクエリするためのフレームワークはありますか? ノード リストを繰り返し処理するのは本当に面倒です。
XQueryと XPath... SQL 構造が必要な場合は、XQuery の方が適しています。
.Net Framework はこれを行うための LINQ を提供します。または、.Net System.Data 名前空間を使用して XML ファイルからデータを読み込むこともできます。
テーブル間の結合などを含むクエリを作成することもできます。
たとえば、System.Data.DataTable はReadXml()
メソッドを提供します。
LINQ to XML を試すこともできますが、言語に依存しません。
それはあなたが解決している問題によって異なります。XML ファイルが非常に大きい場合、SAX パーサーなどを使用してノードごとにファイルをトラバースする必要がある場合があります。そうしないと、OutOfMemoryException が発生したり、コンピューターの仮想メモリが不足したりします。
ただし、予想される XML ファイルのサイズが比較的小さい場合は、Linq のようなものを簡単に使用できます。また、私の回答も参照してください。
SQL Server 2005は、ネイティブデータ型でXMLDMLをサポートしています。xml
XQuery は確実に前進する道です。これは、eXistやMarkLogicなどの XML データベースで使用されるものです。
Java の世界では、フラット ファイルで XQuery を実行するためのソリューションがいくつかあります。最も顕著なのはSaxonです。
.NET の場合、利用できるものはそれほど多くありません。Microsoft には XQuery ライブラリがありましたが、これは .NET 2 から取り出されたものであり、再登場することはありませんでした。 XQSharp はネイティブ .NET の代替手段ですが、現在はコマンド ライン バージョンのみがリリースされています。