Schema explicitly defines the data-types for the columns and such. Not using the schema forces the dataset to make the best guess for the data-types, which might be a wrong assumption.
:
: (using .net2003)
:
:
: DataSet ds = new DataSet();
: FileStream fs =
: new FileStream( "XML.xml", FileMode.Open, FileAccess.Read );
: ds.ReadXml( fs );
: fs.Close();
:
: foreach( DataRow dr in ds.Tables["user"].Rows )
: Console.WriteLine( "name:{0}", dr["name"] );
:
:
: and
:
:
: DataSet ds = new DataSet();
:
: FileStream fs =
: new FileStream( "schema.xsd", FileMode.Open, FileAccess.Read );
: ds.ReadXmlSchema( fs );
: fs.Close();
:
: fs = new FileStream( "XML.xml", FileMode.Open, FileAccess.Read );
: ds.ReadXml( fs );
: fs.Close();
:
: foreach( DataRow dr in ds.Tables["user"].Rows )
: Console.WriteLine( "name:{0}", dr["name"] );
:
:
: What is the difference, because ReadXml method works just fine without first reading the schema?
:
: Thanx,
: