writeXML之后的XML中的空行

时间:2014-02-18 19:54:25

标签: c# xml datagridview

我正在使用它将我的数据从dataGridViewX1保存到XML文件。

                DataTable dt = new DataTable("itemstable"); 

                for (int i = 0; i < dataGridViewX1.ColumnCount; i++)
                {
                    dt.Columns.Add(dataGridViewX1.Columns[i].Name, typeof(System.String));
                }

                DataRow myrow;
                int icols = dataGridViewX1.Columns.Count;
                foreach (DataGridViewRow drow in this.dataGridViewX1.Rows)
                {
                    myrow = dt.NewRow();
                    for (int i = 0; i <= icols - 1; i++)
                    {

                        myrow[i] = drow.Cells[i].Value;
                    }
                    dt.Rows.Add(myrow);
                }

                dt.WriteXml("items.xml");

这就是XML的样子:

<?xml version="1.0" standalone="yes"?>
<DocumentElement>
  <itemstable>
    <Datum>18.02.2014</Datum>
    <a>45</a>
    <b>12</b>   
  </itemstable>
  <itemstable />
</DocumentElement>

如何在创建XML时摆脱<itemstable />,因为在将XML读回dataGridViewX1后它会出现一个空白行?

1 个答案:

答案 0 :(得分:0)

一个错误:

 for (int i = 0; i <= icols - 1; i++)
                   ^^--- should be just "<"

如果count5的形式返回,例如,您将会做

0,1,2,3,4,5 - 6 elements

而不是

0,1,2,3,4 - 5 elements