0

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

    }

请帮我。

4

1 回答 1

1

你想简单地枚举一个DataTable还是你真的想递归地迭代它?我只是问,因为您的示例代码没有显示递归,它显示了带有几个无法编译的部分的枚举。

我猜您正在尝试序列化数据表,在这种情况下,以下示例可能会起作用:

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 结构做了一些假设,但希望它足以让你从

于 2012-07-09T08:32:09.620 回答