// Lluis Sanchez Gual (lluis@ximian.com)
//
// (c)copyright 2003 Ville Palo
+// Copyright 2011 Xamarin Inc.
//
//
do {
switch (reader.NamespaceURI) {
case XmlConstants.XmlnsNS:
+#if NET_2_0
+ case XmlConstants.XmlNS:
+#endif
case XmlConstants.DiffgrNamespace:
case XmlConstants.MsdataNamespace:
case XmlConstants.MspropNamespace:
case XmlSchema.Namespace:
continue;
}
- DataColumn c = Table.Columns [reader.LocalName];
+ DataColumn c = Table.Columns [XmlHelper.Decode (reader.LocalName)];
if (c == null ||
c.ColumnMapping != MappingType.Attribute) continue;
if (c.Namespace == null && reader.NamespaceURI == String.Empty ||
{
if (reader.NodeType != XmlNodeType.Element) { reader.Read (); continue; }
- if (Table.Columns.Contains (reader.LocalName))
+ string colName = XmlHelper.Decode (reader.LocalName);
+ if (Table.Columns.Contains (colName))
{
- string colName = reader.LocalName;
object data = XmlDataLoader.StringToObject (Table.Columns[colName].DataType, reader.ReadString ());
if (loadType == DataRowVersion.Current) Row [colName] = data;
if (changes != null)
{
- if (string.Compare (changes, "modified", true) == 0) {
+ if (string.Compare (changes, "modified", true, CultureInfo.InvariantCulture) == 0) {
DiffGrRows.Add (id, Row); // for later use
state = DataRowState.Modified;
}
- else if (string.Compare (changes, "inserted", true) == 0) {
+ else if (string.Compare (changes, "inserted", true, CultureInfo.InvariantCulture) == 0) {
state = DataRowState.Added;
}
else
state = DataRowState.Unchanged;
// If row had errors add row to hashtable for later use
- if (error != null && string.Compare (error, "true", true) == 0)
+ if (error != null && string.Compare (error, "true", true, CultureInfo.InvariantCulture) == 0)
ErrorRows.Add (id, Row);
LoadColumns (Table, Row, reader, DataRowVersion.Current);
DataTable GetTable (string name)
{
+ name = XmlConvert.DecodeName (name);
if (DSet != null)
return DSet.Tables [name];
else if (name == table.TableName)