我的应用程序中有DataTable。它包含DataColumns和Rows。我只是想以递归方式调用它并输入到InnerXml查询。这里字段名称应该是DataColumns值,Value应该是DataTable的Row值。贝娄是我尝试过的代码。但我不知道迭代DataTable并填充InnerXml。
DataTable DT = new DataTable();
for(int i=0 ; i<DT.Length ;i++){
batchElement.InnerXml =
"<Method ID='4' Cmd='New'>" + "<Field Name='" + DT.DataColumn[] + "'>" + DT.row + "</Field></Method>";
}
请帮帮我。
答案 0 :(得分:1)
您想简单地枚举一个DataTable
,还是想要recursively迭代它?我只是问,因为你的示例代码没有显示递归,它显示了几个不能编译的部分的枚举。
我猜你正在尝试序列化数据表,在这种情况下,以下示例可能会起作用:
StringBuilder innerXml = new StringBuilder();
int methodId = 0;
foreach(DataRow row in DT.Rows)
{
innerXml.AppendFormat("<Method ID='{0}' Cmd='New'>", methodId.ToString());
methodId += 1;
foreach(DataColumn column in DT.Columns)
{
innerXml.AppendFormat("<Field Name='{0}'>{1}</Field>", column.ColumnName, row[column.ColumnName]);
}
innerXml.AppendLine("</Method>");
}
batchElement.InnerXml = innerXml.ToString();
道歉,如果上面没有编译 - 手工处理 - 应该有希望让你走上正确的轨道。
注意:根据您的示例,我不确定您打算如何拆分Xml中的行和单元格元素。我已经对Xml结构做了一些假设,但希望你可以从
开始工作