I take it you mean where each property from the xml is it's own element in the array?
That doesn't seem like a very good data structure, especially as xml schema definitions allow for the items to arrive in any order; your expected indexes could get all screwed up. A strongly-typed object seems more appropriate and is well supported in .Net. At very least you should use a dictionary, so the keys are preserved.
In this case the number of items in each tree is very small and you could end up with many of them, so a dictionary is probably not the best choice. You could do objects, but that would be a lot of extra code just to set it up and I get the impression the xml may come from different sources and be different based on the source (or something where the structure could change regularly, hence the initial desire for loosely-typed validation).
Ultimately your destination is a database, so I think in this case I'll show you an example using a dataset:
string xml = GetXmlString(); // <Demo><JobOperatives><Operative><Clock>aaaa</Clock>...
StringReader sr = new StringReader(xml);
DataSet ds = new DataSet();
ds.ReadXml(sr);
Play around with that: look in the dataset's .Tables
collection, at each table's .TableName
property, .Columns
collection, and .Rows
collection, and at each columns .ColumnName
and .DataType
properties.