Basf_EProject/EProject/BLL/Common/HashtableHelper.cs

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;
}
}
}