【发布时间】:2014-01-11 10:20:54
【问题描述】:
您好,我正在使用产品数据创建 XmlDocument。我的代码
foreach (var pv in pvs)
{
XmlElement product = xml.CreateElement("Product");
product.SetAttribute("SKU", pv.Sku);
root.AppendChild(product);
var pname = xml.CreateElement("Name");
pname.InnerText = pv.Product.Name;
product.AppendChild(pname);
var MRP = xml.CreateElement("Mrp");
MRP.InnerText = Math.Round(pv.OldPrice, 2).ToString();
var SKU_MRP = _barcodeService.GetMRPsBySku(pv.Sku);
var mrps = SKU_MRP.AsEnumerable().Select(s => s.MRP).ToList();
if (mrps.Count > 0)
{
mrpstring = string.Join<string>(",", mrps.Select(x => Math.Round(x, 2).ToString()).Where(x => x != Math.Round(pv.OldPrice, 2).ToString()).ToList());
}
if (!string.IsNullOrEmpty(mrpstring))
{
MRP.InnerText += "," + mrpstring;
}
product.AppendChild(MRP);
}
xml.Save(path);
我粘贴的以上代码只是我整个功能的一部分。请注意,我从返回 IList 的barcodeservice 函数调用方法。
我的pv 计数超过 5000。因此生成完整文件需要 5-7 分钟。
现在有什么解决方法可以最大程度地减少负载,或者如何在不使用 foreach 的情况下生成相同的文件。
有什么解决办法吗?
【问题讨论】:
标签: c# foreach linq-to-xml xmldocument