C# 将两个组添加到c中的一个组中#
我有两组,如下所示,他们有不同的数据。基于这两者,我需要创建一个xml文件 如何为这两个组编写for循环并生成单个xml文件C# 将两个组添加到c中的一个组中#,c#,xml,C#,Xml,我有两组,如下所示,他们有不同的数据。基于这两者,我需要创建一个xml文件 如何为这两个组编写for循环并生成单个xml文件 var groups=checkFile.AsEnumerable().GroupBy(x=>new{DocNum=x.Field(“orderid”)、Type=x.Field(“Type”)、ProdName=x.Field(“ProdName”)、Status=x.Field(“Status”)、productno=x.Field(“productno”)、uom=
var groups=checkFile.AsEnumerable().GroupBy(x=>new{DocNum=x.Field(“orderid”)、Type=x.Field(“Type”)、ProdName=x.Field(“ProdName”)、Status=x.Field(“Status”)、productno=x.Field(“productno”)、uom=x.Field(“uom”)、customer=x.Field(“customer”)、remark=x.Field(“备注”)、U\U JobNumber=x.Field(“U\U JobNumber”),U_SalesPerson=x.Field(“U_SalesPerson”)、U_POnum=x.Field(“U_POnum”)、U_JobType=x.Field(“U_JobType”)、PlannedQty=x.Field(“PlannedQty”)、Originum=x.Field(“orderdate”)、duedate=x.Field(“duedate”)、DocTotal=x.Field(“DocTotal”);
var groups2=checkFile2.AsEnumerable().GroupBy(x=>new{DocNum=x.Field(“DocNum”)});
//现在我需要在这个循环中获取两个组数据来打印文件
foreach(组中的var组)
{
var stringwriter=新的stringwriter();
使用(var xmlWriter=xmlWriter.Create(stringwriter,新的XmlWriterSettings{Indent=true}))
{
xmlWriter.WriteStartDocument();
writeStarteElement(“根”);
xmlWriter.WriteEndElement();
}
var xml=stringwriter.ToString();
XmlDocument docSave=新的XmlDocument();
加载XML(stringwriter.ToString());
保存(System.IO.Path.Combine(@SystemSettings.ImportBankStatementPendingFolderPath,“DocNum-”+group.Key.DocNum+“.xml”);
计数++;
}
尝试以下操作:
DataTable checkFile = new DataTable();
var groups = checkFile.AsEnumerable().GroupBy(x => new
{
DocNum = x.Field<int>("orderid"),
Type = x.Field<string>("Type"),
ProdName = x.Field<string>("ProdName"),
Status = x.Field<string>("Status"),
productno = x.Field<string>("productno"),
uom = x.Field<string>("uom"),
customer = x.Field<string>("customer"),
remark = x.Field<string>("remark"),
U_JobNumber = x.Field<string>("U_JobNumber"),
U_SalesPerson = x.Field<string>("U_SalesPerson"),
U_POnum = x.Field<string>("U_POnum"),
U_JobType = x.Field<string>("U_JobType"),
PlannedQty = x.Field<decimal>("PlannedQty"),
OriginNum = x.Field<int?>("OriginNum"),
orderdate = x.Field<DateTime>("orderdate"),
duedate = x.Field<DateTime>("duedate"),
DocTotal = x.Field<decimal>("DocTotal")
});
DataTable checkFile2 = new DataTable();
//now i need to take both group data inside this loop to print the file
foreach (var group in groups)
{
List<DataRow> groups2 = checkFile2.AsEnumerable().Where(x => group.Key.DocNum == x.Field<int>("DocNum")).ToList();
}
DataTable checkFile=newdatatable();
var groups=checkFile.AsEnumerable().GroupBy(x=>new
{
DocNum=x.Field(“orderid”),
类型=x.字段(“类型”),
ProdName=x.Field(“ProdName”),
状态=x.字段(“状态”),
productno=x.字段(“productno”),
计量单位=x.字段(“计量单位”),
客户=x.字段(“客户”),
备注=x.字段(“备注”),
U_JobNumber=x.字段(“U_JobNumber”),
U_SalesPerson=x.字段(“U_SalesPerson”),
U_POnum=x.字段(“U_POnum”),
U_JobType=x.字段(“U_JobType”),
PlannedQty=x.字段(“PlannedQty”),
OriginNum=x.字段(“OriginNum”),
orderdate=x.字段(“orderdate”),
duedate=x.字段(“duedate”),
DocTotal=x.Field(“DocTotal”)
});
DataTable checkFile2=新DataTable();
//现在我需要在这个循环中获取两个组数据来打印文件
foreach(组中的var组)
{
List groups2=checkFile2.AsEnumerable()。其中(x=>group.Key.DocNum==x.Field(“DocNum”).ToList();
}
显然,此代码不是
您打算如何将这两个组列表关联起来?按索引?用钥匙?您将如何处理遗留对象或其他冲突?这两个表中都有一个共同的索引