For those who are interested, I've just released a trial version of a .NET
Provider for XML. Based on the successful, QueryADataset SQL engine for
Datasets and XML documents, this assembly supports the standard .NET
provider classes:

XmlClientFactory - standard factory classes
XmlConnection - connect to a XML file or Dataset
XmlConnectionStringBuilder - standard connection string builder
XmlCommand - issue SQL commands against a Dataset or XML file, supports all
behaviors
XmlCommandBuilder - build matching INSERT, UPDATE and DELETE commands for a
given SELECT statement
XmlTransaction - support a single transaction, commit and rollback
XmlParameterCollection - standard parmeter collection
XmlParameter - standard parameter
XmlDataReader - standard data reader with full schema support
XmlDataAdapter - standard data adapter

Parameterized SQL statements are over 3000 times faster than inline
statements with approx. 25000 statements / second.

The underlying query engine supports standard SELECT/UNION, INSERT, UPDATE,
DELETE, TRUNCATE, CREATE and DROP commands. Multiple statements can be
issued together using ';' to seperate them. The SELECT statement supports
all join types, sub-queries, group by, having, order by, built-in and
aggregate functions and PIVOT/UNPIVOT table sources.

If you are interested, you can download the trial version from
http://www.queryadataset.com.

Thanks
Adrian Moore
Microsoft MVP - Windows Networking
http://www.queryadataset.com