Is XMLDATA transmitted as binary xml dom representation, or as an xml string?, when accessed with command.ExecuteXmlReader()?
A documentation link would be perfect.
What serialization/deserialization steps involved on the sql server and client side?
UPDATE:
The question is not about how to use the classes provided by net framework.
It’s about the internal details of data transmission during execution of an Adonet command on an SQL Server connection, resulting in an XMLDATA column in a resultset.
OK, this is quite fun. I didn’t find any reference, but I did do a quick trace with WireShark.
The format is some sort of internal representation, presumably a tree structure. The following value:
comes across the wire like this:
Notes:
UPDATE: hey, cool, found it. I forgot the format is called TDS: http://www.freetds.org/tds.html#login7. It looks like you can specify whether Xml will be returned in binary format or not, depending on whether it’s being passed to ADO or not.
Doc for Binary Xml: http://msdn.microsoft.com/en-us/library/ee208875.aspx