溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

XML怎么將機器內碼轉換為人們容易理解的信息

發布時間:2022-03-16 16:09:12 來源:億速云 閱讀:145 作者:iii 欄目:web開發

本篇內容介紹了“XML怎么將機器內碼轉換為人們容易理解的信息”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!


  轉換對象如下:
  /**//// 
  ///翻譯類,將內部碼翻譯成容易理解的中文 
  /// 
  /// 
  ///根據配置文件中的信息,將系統內部碼(錯誤碼、成功碼)翻譯成中文(或人容易理解的語言)。 
  /// 
  publicstaticclassTranslation 
  ...{ 
  privatestaticSystem.IO.FileSystemWatcherwatcher; 
  privatestaticXmlDocumentcontent; 
  privatestaticstringconfigFile; 
  privatestaticobjectlocker=newobject(); 
   
  /**//// 
  ///加載配置文件 
  /// 
  /// 
  publicstaticvoidConfigure(stringconfigFile) 
  ...{ 
  LoadFile(configFile); 
  if(watcher!=null) 
  ...{ 
  watcher.Dispose(); 
  } 
  watcher=newFileSystemWatcher(Path.GetDirectoryName(configFile),Path.GetFileName(configFile)); 
  watcher.Changed =newFileSystemEventHandler(watcher_Changed); 
  } 
   
  /**//// 
  ///加載默認配置文件 
  /// 
  publicstaticvoidConfigure() 
  ...{ 
  if(System.Web.HttpContext.Current!=null) 
  ...{ 
  Configure(System.Web.HttpContext.Current.Server.MapPath("~/translation.config")); 
  } 
  else 
  ...{ 
  Configure(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase "/" "translation.config"); 
  } 
  } 
   
  /**//// 
  ///加載文件內容 
  /// 
  /// 
  privatestaticvoidLoadFile(stringconfigFile) 
  ...{ 
  lock(locker) 
  ...{ 
  XmlDocumentdoc=newXmlDocument(); 
  doc.Load(configFile); 
   
  content=doc; 
  Translation.configFile=configFile; 
  } 
  } 
   
  /**//// 
  ///當文件變更時,從新加載文件 
  /// 
  /// 
  /// 
  privatestaticvoidwatcher_Changed(objectsender,FileSystemEventArgse) 
  ...{ 
  LoadFile(configFile); 
  } 
   
  /**//// 
  ///獲取Enum的解釋,如果Enum有Flag標記,則使用逗號分隔各個解釋 
  /// 
  /// 
  /// 
  publicstaticstringGetEnumDescription(EnumenumValue) 
  ...{ 
  returnGetEnumDescription(enumValue,","); 
  } 
   
  /**//// 
  ///獲取Enum的解釋,如果Enum有Flag標記,則使用sparator分隔各個解釋 
  /// 
  /// 
  /// 
  /// 
  publicstaticstringGetEnumDescription(EnumenumValue,stringsparator) 
  ...{ 
  Typetype=enumValue.GetType(); 
   
  //檢查類型是否有Flags特性 
  object[]attrs=type.GetCustomAttributes(typeof(FlagsAttribute),false); 
  if(attrs.Length>0) 
  ...{ 
  StringBuilderbuilder=newStringBuilder(); 
  Arrayarr=Enum.GetValues(type); 
  foreach(Enumenuinarr)//循環獲取每一個值的解釋 
  ...{ 
  if((Convert.ToUInt64(enumValue)&Convert.ToUInt64(enu))==Convert.ToUInt64(enu))//判斷是否有這個值 
  ...{ 
  builder.Append(GetEnumDes(type,enu.ToString())); 
  builder.Append(sparator); 
  } 
  } 
  if(builder.Length!=0)//拿掉最后的分隔符 
  builder.Remove(builder.Length-sparator.Length,sparator.Length); 
  returnbuilder.ToString(); 
  } 
  else 
  ...{ 
  returnGetEnumDes(type,enumValue.ToString()); 
  } 
  } 
   
  /**//// 
  ///獲取某一Enum類型值的解釋 
  /// 
  /// 
  /// 
  /// 
  privatestaticstringGetEnumDes(Typetype,stringvalue) 
  ...{ 
  stringxquery="/translation/enum/" type.FullName "/" value; 
  XmlNodenode=content.SelectSingleNode(xquery); 
  if(node!=null) 
  returnnode.InnerText; 
  else 
  returnvalue; 
  } 
   
  /**//// 
  ///翻譯指定值 
  /// 
  /// 
  /// 
  publicstaticstringGetValueDescription(objectobj) 
  ...{ 
  returnGetValueDescription("default",obj); 
  } 
   
  /**//// 
  ///在指定組中翻譯指定值 
  /// 
  /// 
  /// 
  /// 
  publicstaticstringGetValueDescription(stringgroup,objectobj) 
  ...{ 
  if(obj==null) 
  return"null"; 
   
  stringxquery="/translation/description[@group='" group "']/add[@key='" obj.ToString() "']/@value"; 
  XmlNodenode=content.SelectSingleNode(xquery); 
  if(node==null) 
  returnobj.ToString(); 
  else 
  returnnode.Value; 
  } 
  }

“XML怎么將機器內碼轉換為人們容易理解的信息”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

xml
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女