private void SaveXMLData(string date) { XmlDocument xmlDoc = new XmlDocument(); //创建类型声明节点 XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", ""); xmlDoc.AppendChild(node); //创建根节点 XmlNode root = xmlDoc.CreateElement("Data"); xmlDoc.AppendChild(root); XmlElement start = null; XmlElement end = null; if (ManagerPlant.copyManager.xEnable) { XmlElement xDataEl = xmlDoc.CreateElement("XData"); xDataEl.SetAttribute("Groups", xData.Groups.ToString()); xDataEl.SetAttribute("Counts", xData.Counts.ToString()); XmlElement xDataGroupEl = null; for (int i = 1; i <= xData.Groups; i++) { xDataGroupEl = xmlDoc.CreateElement("Group"); xDataGroupEl.SetAttribute("GroupIndex", i.ToString()); xDataGroupEl.SetAttribute("OffsetValue", xData.Vals[i - 1].OffsetValue.ToString()); start = xmlDoc.CreateElement("Start"); start.SetAttribute("Value", xData.Vals[i - 1].StartValue.ToString()); end = xmlDoc.CreateElement("End"); end.SetAttribute("Value", xData.Vals[i - 1].EndValue.ToString()); xDataGroupEl.AppendChild(start); xDataGroupEl.AppendChild(end); xDataEl.AppendChild(xDataGroupEl); } xDataEl.SetAttribute("MaxOffsetValue", xData.GetMaxOffsetValue("7").ToString()); root.AppendChild(xDataEl); } XmlElement aisleEl = null; if (ManagerPlant.copyManager.yEnable) { XmlElement yDataEl = xmlDoc.CreateElement("YData"); yDataEl.SetAttribute("Groups", yData.Groups.ToString()); yDataEl.SetAttribute("Counts", yData.Counts.ToString()); XmlElement yDataGroupEl = null; foreach (string aisleId in yData.ValDict.Keys) { aisleEl = xmlDoc.CreateElement("Aisle"); aisleEl.SetAttribute("AisleId", aisleId.ToString()); for (int i = 1; i <= yData.Groups; i++) { yDataGroupEl = xmlDoc.CreateElement("Group"); yDataGroupEl.SetAttribute("GroupIndex", i.ToString()); yDataGroupEl.SetAttribute("OffsetValue", yData.ValDict[aisleId][i - 1].OffsetValue.ToString()); start = xmlDoc.CreateElement("Start"); start.SetAttribute("Value", yData.ValDict[aisleId][i - 1].StartValue.ToString()); end = xmlDoc.CreateElement("End"); end.SetAttribute("Value", yData.ValDict[aisleId][i - 1].EndValue.ToString()); yDataGroupEl.AppendChild(start); yDataGroupEl.AppendChild(end); aisleEl.AppendChild(yDataGroupEl); } aisleEl.SetAttribute("MaxOffsetValue", yData.GetMaxOffsetValue(aisleId).ToString()); yDataEl.AppendChild(aisleEl); } root.AppendChild(yDataEl); } if (ManagerPlant.copyManager.zEnable) { XmlElement zDataEl = xmlDoc.CreateElement("ZData"); zDataEl.SetAttribute("Groups", zData.Groups.ToString()); zDataEl.SetAttribute("Counts", zData.Counts.ToString()); XmlElement zDataGroupEl = null; foreach (string aisleId in zData.ValDict.Keys) { aisleEl = xmlDoc.CreateElement("Aisle"); aisleEl.SetAttribute("AisleId", aisleId.ToString()); for (int i = 1; i <= zData.Groups; i++) { zDataGroupEl = xmlDoc.CreateElement("Group"); zDataGroupEl.SetAttribute("GroupIndex", i.ToString()); zDataGroupEl.SetAttribute("OffsetValue", zData.ValDict[aisleId][i - 1].OffsetValue.ToString()); start = xmlDoc.CreateElement("Start"); start.SetAttribute("Value", zData.ValDict[aisleId][i - 1].StartValue.ToString()); end = xmlDoc.CreateElement("End"); end.SetAttribute("Value", zData.ValDict[aisleId][i - 1].EndValue.ToString()); zDataGroupEl.AppendChild(start); zDataGroupEl.AppendChild(end); aisleEl.AppendChild(zDataGroupEl); } aisleEl.SetAttribute("MaxOffsetValue", zData.GetMaxOffsetValue(aisleId).ToString()); zDataEl.AppendChild(aisleEl); } root.AppendChild(zDataEl); } try { xmlDoc.Save("Data\\XMLData\\" + date + ".xml"); } catch (Exception e) { ManagerPlant.logManager.WriteLog("保存xml数据文件失败。" + e.Message); } }