SqlDataReader.GetXmlReader(Int32) Method


Retrieves data of type XML as an XmlReader.

 virtual System::Xml::XmlReader ^ GetXmlReader(int i);
public virtual System.Xml.XmlReader GetXmlReader (int i);
abstract member GetXmlReader : int -> System.Xml.XmlReader
override this.GetXmlReader : int -> System.Xml.XmlReader
Public Overridable Function GetXmlReader (i As Integer) As XmlReader



The value of the specified column.



The returned object.


The connection drops or is closed during the data retrieval.

The SqlDataReader is closed during the data retrieval.

There is no data ready to be read (for example, the first Read() hasn't been called, or returned false).

Trying to read a previously read column in sequential mode.

There was an asynchronous operation in progress. This applies to all Get* methods when running in sequential mode, as they could be called while reading a stream.

Trying to read a column that does not exist.

The returned type was not xml.


The XmlReader object returned by GetXmlReader does not support asynchronous operations. If you require asynchronous operations on an XmlReader, cast the XML column to an NVARCHAR(MAX) on the server and use GetTextReader with Create.

SqlException exceptions raised from XmlReader are thrown as XmlException exceptions; check the inner exception for the SqlException.

GetChars will raise an InvalidOperationException exception when used on an object returned by GetXmlReader when SequentialAccess is in effect.

For more information, see SqlClient Streaming Support.

Applies to