Exemple #1
0
        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);
            }
        }