null value in xml translates to empty string in dataset after ReadXML

  • Thread starter Thread starter BillE
  • Start date Start date
B

BillE

I am importing data in a XML document into a SQL Server database.

Null data in the XML document is represented like this:
<elementname />

But when I load the XML document into a dataset, it becomes an empty string,
which generates an error when I insert the data into the database for
datetime fields.

I load the data into a XMLTextReader, read it into a dataset, and send it to
the database:

XMLTextReader xr = new XMLTextReader (filename.xml);
DataSet ds = new DataSet();
ds.ReadXML(xr);
SQLDataAdapter da = new SQLDataAdapter();
//configure InsertCommand...
da.Update(ds);

When I look at the data in the dataset, null values in elements become empty
strings "". I get:

"Failed to convert parameter value from a String to a DateTime."
 
And your question was?

XML is about text, so it's no surprise that nulls are handled this way (no
text equals empty string).

You'll need to iterate your DataSet and check for this scenario or use a
Schema with your DataSet to avoid it.

-Scott
 
Back
Top