【发布时间】:2009-07-30 12:03:04
【问题描述】:
我有一个从复杂的 xml 结构中读取的数据集....
为了这个问题,这是它的基本版本
<cars>
<car>
<carName>Golf</carName>
<engine>
<model></model>
</engine>
<//car>
<car>
<carName>Dodge</carName>
<engine>
<model></model>
</engine>
<//car>
</cars>
首先我创建数据集以获取整个文档....(我从文件中读取)
DataSet dsCars = new DataSet();
dsConfiguration.ReadXml("allcars.xml"));
接下来我想遍历所有汽车行.. 为此,我使用以下代码:
foreach(DataRow carDataRow in dsCars.Tables["Car"].Rows)
现在在这个循环中,我想将汽车行(及其所有子内容)注入一个新数据集
所以在 foreach 循环中我有代码
- 创建新数据集
- 创建一个新的数据表 = CarList2
- 使用以下命令导入行: tempTaskTable2.ImportRow(carDataRow);
但是当我使用以下命令序列化到文件时: tempTaskDS.WriteXml(@"c:\test.xml");
新创建的数据表 = Carlist2 是空白的,根本不包含任何数据...
我做错了什么?
【问题讨论】:
-
我认为您正在添加引用。你使用了 clone() 方法吗?
-
不是我用了dataTable的导入行功能。
-
每辆车都有一个新数据集?