119 lines
3.7 KiB
C#
119 lines
3.7 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Text;
|
|
|
|
namespace BLL.Common
|
|
{
|
|
/// <summary>
|
|
/// Hashtable帮助类
|
|
/// </summary>
|
|
public class HashtableHelper
|
|
{
|
|
public static string HashtableToXml(Hashtable ht)
|
|
{
|
|
StringBuilder xml = new StringBuilder("<root>");
|
|
xml.Append(HashtableToNode(ht));
|
|
xml.Append("</root>");
|
|
return xml.ToString();
|
|
}
|
|
|
|
private static string HashtableToNode(Hashtable ht)
|
|
{
|
|
StringBuilder xml = new StringBuilder("");
|
|
foreach (string key in ht.Keys)
|
|
{
|
|
object value = ht[key];
|
|
xml.Append("<").Append(key).Append(">").Append(value).Append("</").Append(key).Append(">");
|
|
}
|
|
xml.Append("");
|
|
return xml.ToString();
|
|
}
|
|
|
|
public static string IListToXML(IList<Hashtable> datas)
|
|
{
|
|
StringBuilder xml = new StringBuilder("<root>");
|
|
foreach (Hashtable ht in datas)
|
|
{
|
|
xml.Append(HashtableToNode(ht));
|
|
}
|
|
xml.Append("</root>");
|
|
return xml.ToString();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 实体类Model转Hashtable(反射)
|
|
/// </summary>
|
|
public static Hashtable GetModelToHashtable<T>(T model)
|
|
{
|
|
Hashtable ht = new Hashtable();
|
|
PropertyInfo[] properties = model.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public);
|
|
foreach (PropertyInfo item in properties)
|
|
{
|
|
string key = item.Name;
|
|
ht[key] = item.GetValue(model, null);
|
|
}
|
|
return ht;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 字符串 分割转换 Hashtable ≌; ☻
|
|
/// </summary>
|
|
public static Hashtable String_Key_ValueToHashtable(string str)
|
|
{
|
|
Hashtable ht = new Hashtable();
|
|
if (!string.IsNullOrEmpty(str))
|
|
{
|
|
string[] arrayParm_Key_Value = str.Split('≌');
|
|
foreach (string item in arrayParm_Key_Value)
|
|
{
|
|
if (item.Length > 0)
|
|
{
|
|
string[] Key_Value = item.Split('☻');
|
|
ht[Key_Value[0]] = Key_Value[1];
|
|
}
|
|
}
|
|
}
|
|
return ht;
|
|
}
|
|
/// <summary>
|
|
/// 自定义格式字符串转换 Hashtable
|
|
/// </summary>
|
|
/// <param name="array_Key_Value"></param>
|
|
/// <returns></returns>
|
|
public static Hashtable Master_Key_ValueToHashtable(object[] array_Key_Value)
|
|
{
|
|
Hashtable ht = new Hashtable();
|
|
foreach (string item in array_Key_Value)
|
|
{
|
|
if (item.Length > 0)
|
|
{
|
|
string[] Key_Value = item.Split('☻');
|
|
ht[Key_Value[0]] = Key_Value[1];
|
|
}
|
|
}
|
|
return ht;
|
|
}
|
|
/// <summary>
|
|
/// 自定义格式字符串转换 Hashtable
|
|
/// </summary>
|
|
/// <param name="item">自定义字符串</param>
|
|
/// <returns></returns>
|
|
public static Hashtable List_Key_ValueToHashtable(string item)
|
|
{
|
|
Hashtable ht = new Hashtable();
|
|
foreach (string itemwithin in item.Split('☺'))
|
|
{
|
|
if (itemwithin.Length > 0)
|
|
{
|
|
string[] str_item = itemwithin.Split('☻');
|
|
ht[str_item[0]] = str_item[1];
|
|
}
|
|
}
|
|
return ht;
|
|
}
|
|
}
|
|
}
|