递归访问DataTable并输入到InnerXml查询

时间:2012-07-09 08:20:37

标签: c# batch-file datatable innerxml

我的应用程序中有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>";

    }

请帮帮我。

1 个答案:

答案 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结构做了一些假设,但希望你可以从

开始工作