DataROW到XML的类型列表

时间:2017-05-30 13:46:13

标签: c# .net xml linq-to-xml

我有一个列表如下:

List<datarow> list =  getxml_table.AsEnumberable().ToList();

这包含每行中的XML DATA。如何将其复制到XML文件?我尝试使用XML序列化程序,但它需要一个无参数构造函数,所以这是不可能的。

任何其他想法。

编辑:

List<datarow>内的XML数据(这只是用于说明目的的示例,实际数据非常庞大)。每行包含以下XML。

<List>
<Listevent someelementdata ="false">
 <someelement>
  <moreelement morelementdata = "1234"/>
</someelement>
</Listevent>
</List>

以下是我的尝试:

using (stringwriter stringwriter = new stringwriter (new stringbuilder()))
{
  xmlserializer xmlserializer = new xmlserializer(typeof(DataRow));
  xmlserializer.serialize(stringwriter, list);
  var string = stringwriter.string();
}

1 个答案:

答案 0 :(得分:1)

首先 - DataRow本身不包含数据(至少在我们谈论标准ADO.NET DataRow时)。数据存储在具体的&#34; cell&#34; DataRow的内容(类似于DataRow["column_name"])。

下一步 - 为什么你需要XmlSerializer?也许我还没有完全理解你的问题 - 但对我来说,看起来你已经拥有List<DataRow>,并且在每一行的某个单元格中你都有一些包含xml数据的字符串。

所以你可以把这些字符串写成类似(伪代码)的文件:

List<DataRow> list =  getxml_table.AsEnumberable().ToList();
using (var writer = new StreamWriter(@"c:\temp\1.txt"))
{
    foreach(var row in list)
    {
        writer.WriteLine(row["column_name"]);
    }
}