zoukankan      html  css  js  c++  java
  • XML与字典读写

    XML 格式:

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <DictionaryNotes>
     3   <DictionaryNote name="CFFE-FLOOR-DM">
     4     <B_IsSuccess>True</B_IsSuccess>
     5     <LoadTime>2020/3/20 16:21:52</LoadTime>
     6     <LoadCount>1</LoadCount>
     7     <ErrorInfo>
     8     </ErrorInfo>
     9   </DictionaryNote>
    10 </DictionaryNotes>

    字典 格式:

     1         Dictionary<string, ModelInfo> Dic_ModelInfo = new Dictionary<string, ModelInfo>();
     2 
     3         //ModelInfo
     4         bool B_IsSuccess = false;
     5         DateTime LoadTime = DateTime.Now.AddDays(-1);
     6         int LoadCount = 0;
     7         string ErrorInfo = "";
     8         struct ModelInfo
     9         {
    10             public bool B_IsSuccess;
    11             public DateTime LoadTime;
    12             public int LoadCount;
    13             public string ErrorInfo;
    14         }24         ModelInfo Set_ModelInfo(bool b_IsSuccess, DateTime loadTime, int loadCount, string errorInfo)
    25         {
    26             ModelInfo MI = new ModelInfo();
    27             MI.B_IsSuccess = b_IsSuccess;
    28             MI.LoadTime = loadTime;
    29             MI.LoadCount = loadCount;
    30             MI.ErrorInfo = errorInfo;
    31             return MI;
    32         }          

    字典读取XML:

     1 private void GetXml()
     2         {  
     3             Dic_ModelInfo = new Dictionary<string, ModelInfo>();
     4             if (!File.Exists(XmlFilePath))
     5             {
     6                 return;
     7             }
     8 
     9             XDocument doc = XDocument.Load(XmlFilePath);
    10             foreach (XElement element in doc.Element("DictionaryNotes").Elements())
    11             {  
    12                 Dic_ModelInfo.Add(element.Attribute("name").Value.ToString(),
    13                     Set_ModelInfo(
    14                         bool.Parse(element.Element("B_IsSuccess").Value),
    15                         DateTime.Parse(element.Element("LoadTime").Value),
    16                         int.Parse(element.Element("LoadCount").Value),
    17                         element.Element("ErrorInfo").Value)
    18                         );
    19             }
    20         } 

    字典写入XML:

     1 private void SetXml()
     2         {
     3             if (File.Exists(XmlFilePath)) { File.Delete(XmlFilePath); } 
     4 
     5             var xmlDoc = new XmlDocument();
     6             //Create the xml declaration first  
     7             xmlDoc.AppendChild(xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null));
     8             //Create the root node and append into doc  
     9             var el = xmlDoc.CreateElement("DictionaryNotes");
    10             xmlDoc.AppendChild(el);
    11 
    12             foreach (var item in Dic_ModelInfo)
    13             { 
    14                 // DictionaryNote  
    15                 XmlElement elementDictionaryNote = xmlDoc.CreateElement("DictionaryNote");  
    16                 XmlAttribute attrID = xmlDoc.CreateAttribute("name");
    17                 attrID.Value = item.Key;
    18                 elementDictionaryNote.Attributes.Append(attrID);
    19                 el.AppendChild(elementDictionaryNote);
    20 
    21                 // B_IsSuccess  
    22                 XmlElement elementB_IsSuccess = xmlDoc.CreateElement("B_IsSuccess");
    23                 elementB_IsSuccess.InnerText = item.Value.B_IsSuccess.ToString();
    24                 elementDictionaryNote.AppendChild(elementB_IsSuccess);
    25                 // LoadTime
    26                 XmlElement elementLoadTime = xmlDoc.CreateElement("LoadTime");
    27                 elementLoadTime.InnerText = item.Value.LoadTime.ToString();
    28                 elementDictionaryNote.AppendChild(elementLoadTime);
    29                 // LoadCount
    30                 XmlElement elementLoadCount = xmlDoc.CreateElement("LoadCount");
    31                 elementLoadCount.InnerText = item.Value.LoadCount.ToString();
    32                 elementDictionaryNote.AppendChild(elementLoadCount);
    33                 // ErrorInfo
    34                 XmlElement elementErrorInfo = xmlDoc.CreateElement("ErrorInfo");
    35                 elementErrorInfo.InnerText = item.Value.ErrorInfo;
    36                 elementDictionaryNote.AppendChild(elementErrorInfo); 
    37 
    38             } 
    39             xmlDoc.Save(XmlFilePath);
    40     }
    支持个人观看使用,如商用或转载,请告知! -----萧朗(QQ:453929789 Email:xiaolang_xl@sina.com)
  • 相关阅读:
    课堂作业
    大道至简读后感
    读《大道至简》有感
    大道至简第四章-流于形式的沟通
    Java课堂动手动脑-截图集锦
    Java动手动脑课后作业1-求创建对象个数
    Java-消息框显示两整数加减乘除
    JAVA-实践问题
    Java-整数相加求和
    大道至简-是懒人造就了方法
  • 原文地址:https://www.cnblogs.com/XiaoLang0/p/12532679.html
Copyright © 2011-2022 走看看