# OSGeo::FDO::Xml::XmlFeatureReader Class Reference
[OSGeo::FDO::Xml]

Inheritance diagram for OSGeo::FDO::Xml::XmlFeatureReader:

[legend]

List of all members.

## Detailed Description

XmlFeatureReader reads GML format features from a XML document. The reading is done procedurally, rather than through events.

()

Remarks:
  Each feature can be read in 3 steps:
  1. call ReadNext() to get the next feature.
  2. call GetClassDefinition() to get the current feature's property list.
  3. call GetProperty() for each feature property to retrieve.
  This class allows random access to the properties of the current feature, meaning that ReadNext() accumulates a list of these properties. This may have slight performance implications. If performance is a concern then XmlFeaturePropertyReader should be used instead.

## Public Member Functions
System::Void | Close ()
| Closes the IFeatureReader object, freeing any resources it may be holding.
__property OSGeo::FDO::Schema::FeatureSchemaCollection * | get_FeatureSchemas ()
| Gets the feature schemas describing the features being read.
System::Boolean | GetBoolean (System::String *name)
| Gets the Boolean value of the specified property. No conversion is performed, thus the property must be DataType_Boolean or an exception is thrown.
System::Byte | GetByte (System::String *name)
| Gets the byte value of the specified property. No conversion is performed, thus the property must be DataType_Byte or an exception is thrown.
OSGeo::FDO::Schema::ClassDefinition * | GetClassDefinition ()
| Gets the definition of the object currently being read. If the user has requested only a subset of the class properties, the class definition reflects what the user has asked, rather than the full class definition.
System::DateTime | GetDateTime (System::String *name)
| Gets the date and time value of the specified property. No conversion is performed, thus the property must be DataType_DateTime or an exception is thrown.
System::Int32 | GetDepth ()
| Gets a value indicating the depth of nesting for the current reader. The depth value increases each time GetFeatureObject is called and a new reader is returned. The outermost reader has a depth of 0.
System::Double | GetDouble (System::String *name)
| Gets the double-precision floating point value of the specified property. No conversion is performed, thus the property must be DataType_Double or an exception is thrown.
OSGeo::FDO::Commands::Feature::IFeatureReader * | GetFeatureObject (System::String *propertyName)
| Gets a reference to an IFeatureReader to read the data contained in the object or object collection property. If the property is not an object property, an exception is thrown.
OSGeo::FDO::Xml::XmlFeaturePropertyReader * | GetFeaturePropertyReader ()
| Gets the feature property reader that was passed to this object.
System::Byte | GetGeometry (System::String *name)[]
| Gets the geometry value of the specified property as a byte array in FGF format. Because no conversion is performed, the property must be of Geometric type; otherwise, an exception is thrown.
System::Int16 | GetInt16 (System::String *name)
| Gets the 16-bit integer value of the specified property. No conversion is performed, thus the property must be DataType_Int16 or an exception is thrown.
System::Int32 | GetInt32 (System::String *name)
| Gets the 32-bit integer value of the specified property. No conversion is performed, thus the property must be DataType_Int32 or an exception is thrown.
System::Int64 | GetInt64 (System::String *name)
| Gets the 64-bit integer value of the specified property. No conversion is performed, thus the property must be DataType_Int64 or an exception is thrown.
OSGeo::FDO::Expression::LOBValue * | GetLOB (System::String *name)
| Gets a LOBValue reference. The LOB is fully read in and data available. Because no conversion is performed, the property must be DataType_BLOB or DataType_CLOB etc. (a LOB type).
OSGeo::FDO::Common::IStreamReader * | GetLOBStreamReader (System::String *name)
| Gets a reference of the specified LOB property as a BLOBStreamReader or CLOBStreamReader etc. to allow reading in blocks of data. Because no conversion is performed, the property must be DataType_BLOB or DataType_CLOB etc. (a LOB type) Cast the IStreamReader to the appropiate LOB Stream Reader.
OSGeo::FDO::Raster::IRaster * | GetRaster (System::String *name)
| Gets the raster object of the specified property. Because no conversion is performed, the property must be of Raster type; otherwise, an exception is thrown.
System::Single | GetSingle (System::String *name)
| Gets the Single floating point value of the specified property. No conversion is performed, thus the property must be DataType_Single or an exception is thrown.
System::String * | GetString (System::String *name)
| Gets the string value of the specified property. No conversion is performed, thus the property must be DataType_String or an exception is thrown.
System::Boolean | IsNull (System::String *name)
| Returns true if the value of the specified property is null.
System::Boolean | ReadNext ()
| Advances the reader to the next item and returns true if there is another object to read or false if reading is complete. The default position of the reader is prior to the first item. Thus you must call ReadNext to begin accessing any data.
__property System::Void | set_FeatureSchemas (OSGeo::FDO::Schema::FeatureSchemaCollection *schemas)
| Sets the feature schemas describing the features being read.
| XmlFeatureReader (OSGeo::FDO::Common::Xml::XmlReader *reader, OSGeo::FDO::Xml::XmlFeatureFlags *flags)
| creates a Feature Reader for reading features from XML.
| XmlFeatureReader (OSGeo::FDO::Common::Xml::XmlReader *reader)
| creates a Feature Reader for reading features from XML.