Explorar o código

修改已XML格式缓冲

章政 %!s(int64=8) %!d(string=hai) anos
pai
achega
5bb783a8a5
Modificáronse 2 ficheiros con 37 adicións e 28 borrados
  1. 0 2
      UAS_XmlAnalysor/DataHelper.cs
  2. 37 26
      UAS_XmlAnalysor/Form1.cs

+ 0 - 2
UAS_XmlAnalysor/DataHelper.cs

@@ -63,7 +63,6 @@ namespace UAS_XmlAnalysor
                 ad.Fill(dt);
             }
             ad.Dispose();
-
             if (dt.Rows.Count > 0)
             {
                 return dt.Rows[0][0];
@@ -101,7 +100,6 @@ namespace UAS_XmlAnalysor
                 ad.Fill(dt);
             }
             ad.Dispose();
-
             return dt;
         }
 

+ 37 - 26
UAS_XmlAnalysor/Form1.cs

@@ -15,7 +15,7 @@ namespace UAS_XmlAnalysor
 
         DataTable dt;
 
-        string sysdisc = Environment.GetEnvironmentVariable("windir").Substring(0, 1);
+        string CachePath = Environment.GetEnvironmentVariable("windir").Substring(0, 1) + @":/Cache/Cache.xml";
 
         public Form1()
         {
@@ -24,30 +24,24 @@ namespace UAS_XmlAnalysor
 
         private void Form1_Load(object sender, EventArgs e)
         {
+            List<string> CacheInf = new List<string>();
             try
             {
-                StreamReader sr = new StreamReader(sysdisc + @":/Cache/path.txt");
-                string line;
-                while ((line = sr.ReadLine()) != null)
+                XmlReader myReader = XmlReader.Create(CachePath);
+                while (myReader.Read())
                 {
-                    if (line != "")
-                    {
-                        break;
-                    }
+                    if (myReader.NodeType == XmlNodeType.Text)
+                        CacheInf.Add(myReader.Value);
                 }
-                object[] Data = line.Split('|');
-                FolderPath.Text = Data[0].ToString();
-                BackUpFolderPath.Text = Data[1].ToString();
-                Source.Text = Data[2].ToString();
-                Master.Text = Data[3].ToString();
-                Console.WriteLine(Data[4].ToString());
-                AutoStart.Checked = ((Data[4].ToString() == "True") ? true : false);
-                sr.Close();
-            }
-            catch (Exception)
-            {
-
+                myReader.Close();
             }
+            catch (Exception) { }
+            string[] Info = CacheInf.ToArray();
+            FolderPath.Text = Info[0];
+            BackUpFolderPath.Text = Info[1];
+            Source.Text = Info[2];
+            Master.Text = Info[3];
+            AutoStart.Checked = (Info[4]=="True"?true:false);
             dt = (DataTable)dh.ExecuteSql("select ms_pwd,ma_user,ma_address from master ", "select");
             Master.DataSource = dt;
             Master.DisplayMember = "ma_user";
@@ -84,15 +78,25 @@ namespace UAS_XmlAnalysor
             //写入前先删除文件
             try
             {
-                File.Delete(sysdisc + @":/Cache/path.txt");
+                File.Delete(CachePath);
             }
-            catch (Exception e1)
+            catch (Exception)
             {
-                Console.WriteLine(e1.Message);
+
             }
-            StreamWriter sw = File.AppendText(sysdisc + @":/Cache/path.txt");
-            sw.WriteLine(CacheString);
-            sw.Close();
+            XmlDocument xmlDoc = new XmlDocument();
+            //创建类型声明节点  
+            XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
+            xmlDoc.AppendChild(node);
+            //创建根节点  
+            XmlElement xeRoot = xmlDoc.CreateElement("CacheInf");
+            xmlDoc.AppendChild(xeRoot);
+            CreateNode(xmlDoc, xeRoot, "FolderPath", FolderPath.Text);
+            CreateNode(xmlDoc, xeRoot, "BackUpFolderPath", BackUpFolderPath.Text);
+            CreateNode(xmlDoc, xeRoot, "Source", Source.Text);
+            CreateNode(xmlDoc, xeRoot, "Master", Master.Text);
+            CreateNode(xmlDoc, xeRoot, "AutoStart", AutoStart.Checked.ToString());
+            xmlDoc.Save(CachePath);
             Source.Enabled = false;
             StartWatch.Enabled = false;
             ChooseFolder.Enabled = false;
@@ -101,6 +105,13 @@ namespace UAS_XmlAnalysor
             OperateResult.AppendText("开始执行监控\n");
         }
 
+        public void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value)
+        {
+            XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
+            node.InnerText = value;
+            parentNode.AppendChild(node);
+        }
+
         public void SetAutoRun()
         {
             if (AutoStart.Checked) //设置开机自启动