| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- using System.Xml;
- using System.Xml.Linq;
- using System.Xml.Serialization;
- namespace Admin.NET.Core;
- /// <summary>
- /// 通用工具类
- /// </summary>
- public static class CommonUtil
- {
- /// <summary>
- /// 生成百分数
- /// </summary>
- /// <param name="PassCount"></param>
- /// <param name="allCount"></param>
- /// <returns></returns>
- public static string ExecPercent(decimal PassCount, decimal allCount)
- {
- string res = "";
- if (allCount > 0)
- {
- var value = (double)Math.Round(PassCount / allCount * 100, 1);
- if (value < 0)
- res = Math.Round(value + 5 / Math.Pow(10, 0 + 1), 0, MidpointRounding.AwayFromZero).ToString();
- else
- res = Math.Round(value, 0, MidpointRounding.AwayFromZero).ToString();
- }
- if (res == "") res = "0";
- return res + "%";
- }
- /// <summary>
- /// 获取服务地址
- /// </summary>
- /// <returns></returns>
- public static string GetLocalhost()
- {
- return $"{App.HttpContext.Request.Scheme}://{App.HttpContext.Request.Host.Value}";
- }
- /// <summary>
- /// 对象序列化XML
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="obj"></param>
- /// <returns></returns>
- public static string SerializeObjectToXml<T>(T obj)
- {
- if (obj == null) return string.Empty;
- var xs = new XmlSerializer(obj.GetType());
- var stream = new MemoryStream();
- var setting = new XmlWriterSettings
- {
- Encoding = new UTF8Encoding(false), // 不包含BOM
- Indent = true // 设置格式化缩进
- };
- using (var writer = XmlWriter.Create(stream, setting))
- {
- var ns = new XmlSerializerNamespaces();
- ns.Add("", ""); // 去除默认命名空间
- xs.Serialize(writer, obj, ns);
- }
- return Encoding.UTF8.GetString(stream.ToArray());
- }
- /// <summary>
- /// 字符串转XML格式
- /// </summary>
- /// <param name="xmlStr"></param>
- /// <returns></returns>
- public static XElement SerializeStringToXml(string xmlStr)
- {
- try
- {
- return XElement.Parse(xmlStr);
- }
- catch
- {
- return null;
- }
- }
- }
|