自由国度

.Net、C#、WPF、Silverlight、HTML5、JavaScript等,好好写代码。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
        // 打包XML
        public string Pack()
        {
            string result = string.Empty;
            try
            {
                StringWriter sw = new StringWriter();
                XmlWriter xw = XmlWriter.Create(sw);

                xw.WriteProcessingInstruction("xml", "version=\"1.0\" encoding=\"GBK\"");
                xw.WriteStartElement("Message");
                xw.WriteStartElement("Scheme");

                xw.WriteAttributeString("ID", _ID);
                xw.WriteAttributeString("Name", _Name);
                xw.WriteAttributeString("Priority", _Priority);

                xw.WriteStartElement("Note");
                xw.WriteString(_Note);
                xw.WriteEndElement();

                xw.WriteStartElement("ActionList");

                // AlarmOut
                xw.WriteStartElement("AlarmOut");
                foreach (AlarmOutInfo tmpinfo in _AlarmOut)
                {
                    xw.WriteStartElement("Action");
                    xw.WriteAttributeString("ID", tmpinfo.Urid);
                    xw.WriteAttributeString("Duration", tmpinfo.Time);
                    xw.WriteAttributeString("AlarmOutNaming", tmpinfo.Naming);
                    xw.WriteAttributeString("Status", "0");
                    xw.WriteEndElement();
                }
                xw.WriteEndElement();

                // Camera
                xw.WriteStartElement("Recorder");
                foreach (CameraInfo cinfo in _CameraInfo)
                {
                    xw.WriteStartElement("Action");
                    xw.WriteAttributeString("ID", cinfo.Urid);
                    xw.WriteAttributeString("Duration", cinfo.Time);
                    xw.WriteAttributeString("CameraNaming", cinfo.Naming);
                    xw.WriteAttributeString("PlaceToStore", "0");
                    xw.WriteEndElement();
                }
                xw.WriteEndElement();

                // Monitors
                xw.WriteStartElement("Mapping");
                foreach (MonitorsInfo minfo in _Monitors)
                {
                    xw.WriteStartElement("Action");
                    xw.WriteAttributeString("ID", minfo.Urid);
                    xw.WriteAttributeString("Duration", minfo.Time);
                    xw.WriteAttributeString("MonitorNaming", minfo.Naming);
                    foreach (CameraInfo cinfo in minfo.CameraList)
                    {
                        xw.WriteStartElement("Camera");
                        xw.WriteAttributeString("Naming", "");
                        xw.WriteAttributeString("TimeToGo", cinfo.Time);
                        xw.WriteAttributeString("Sequence", "");
                        xw.WriteEndElement();
                    }
                    xw.WriteEndElement();
                }
                xw.WriteEndElement();

                // IP
                xw.WriteStartElement("Rooms");
                foreach (IPInfo iinfo in _IPInfo)
                {
                    xw.WriteStartElement("Action");
                    xw.WriteAttributeString("IP", iinfo.IP);
                    xw.WriteAttributeString("Name", iinfo.Name);
                    xw.WriteEndElement();
                }
                xw.WriteEndElement();

                // MPhone
                xw.WriteStartElement("SMS");
                foreach (MobilePhoneInfo mpinfo in _MobilePhoneInfo)
                {
                    xw.WriteStartElement("Action");
                    xw.WriteAttributeString("Number", mpinfo.Number);
                    xw.WriteAttributeString("Name", mpinfo.Name);
                    xw.WriteEndElement();
                }
                xw.WriteEndElement();

                // Email
                xw.WriteStartElement("Emails");
                foreach (EMailInfo eminfo in _EMailInfo)
                {
                    xw.WriteStartElement("Action");
                    xw.WriteAttributeString("Email", eminfo.EMail);
                    xw.WriteAttributeString("Name", eminfo.Name);
                    xw.WriteEndElement();
                }
                xw.WriteEndElement();

                xw.WriteEndElement();
                xw.WriteEndElement();
                xw.WriteEndElement();
                xw.Close();

                result = sw.ToString();
                sw.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            return result;
        }

posted on 2010-08-24 15:26  彬子  阅读(328)  评论(0编辑  收藏  举报