Если у вас есть нулевое значение в поле в наборе данных и вы экспортируете его в xml, он "удаляет" тег поля ... в любом случае, чтобы избежать этого ..
//Try changing values of cells. foreach (DataRow row in dtPr.Rows) { for (int i = 0; i < dtPr.Columns.Count; i++) { dtPr.Columns[i].ReadOnly = false; if (string.IsNullOrEmpty(row[i].ToString())) { if (dtPr.Columns[i].DataType == typeof(string)) row[i] = string.Empty; else if (dtPr.Columns[i].DataType == typeof(int)) row[i] = 0; else if (dtPr.Columns[i].DataType == typeof(DateTime)) row[i] = new DateTime(1753, 1, 1); } } }
Пустой тег не имеет того же значения, что и null, особенно для строк. Как бы вы изменили ситуацию, если бы тег присутствовал, но был пуст?
null
Вы должны нарисовать свой метод с атрибутом, который говорит ему оставаться там. не рядом с моей машиной WinBlows, поэтому не могу дать вам реальный код. но будет выглядеть примерно так:
[XMLElement(IsNullable = true)] myProperty {get;set;}
Думайте о NULL как о состоянии, а все остальное - как о значении. Поэтому, если вы хотите пустое значение, просто отправьте пустую строку (один пробел)