private void AddToDictionary(NameAndValue nameAndValue) { if (!MemberValues.ContainsKey(nameAndValue.Name)) { MemberValues.Add(nameAndValue.Name, nameAndValue.Value); } }
/// <summary> /// 配置名称的前缀,将根据前缀从 配置文件 (app.config,web.config) /// 或者 List<NameAndValue> 去寻找对应的名称来配置值; /// </summary> public WechatConfig(string prefix, List <INameAndValue> configList) { Name = prefix; Token = NameAndValue.GetValueFromConfig(prefix + ".token", configList); EncodingAesKey = NameAndValue.GetValueFromConfig(prefix + ".encodingAesKey", configList); AppId = NameAndValue.GetValueFromConfig(prefix + ".appId", configList); AppSecret = NameAndValue.GetValueFromConfig(prefix + ".appSecret", configList); MchId = NameAndValue.GetValueFromConfig(prefix + ".mchId", configList); TenPayNotify = NameAndValue.GetValueFromConfig(prefix + ".tenPayNotify", configList); var contentAndModify = AppDomainUtil.GetMapPathContentAndLastModifyTime("/bin/" + prefix + ".menuDefine"); if (contentAndModify != null) { MenuDefine = Newtonsoft.Json.JsonConvert.DeserializeObject <ButtonGroup>(contentAndModify.Content); MenuDefineModifyDateTime = contentAndModify.LastModifyDatetime; } }
public XmlMemberSearcher(string xml) { //XmlDocument xmlDoc = new XmlDocument(); //xmlDoc.LoadXml(xml); HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(xml); HtmlNodeCollection members = doc.DocumentNode.SelectNodes("//member"); foreach (HtmlNode member in members) { //Console.WriteLine(""); //Console.WriteLine(member.Name); //Console.WriteLine("----"); NameAndValue nameAndValue = new NameAndValue(); foreach (HtmlNode node in member.ChildNodes) { //Console.WriteLine(node.Name + " --- " + node.InnerText); if (node.Name == "name") { nameAndValue.Name = node.InnerText; } if (node.Name == "value") { nameAndValue.Value = node.InnerText; AddToDictionary(nameAndValue); } } //Console.WriteLine("----"); } //DebugDictionary(); }
public Matcher(NameAndValue nameAndValueTest) { this.nameAndValueTest = nameAndValueTest; }
public T ReqXMLToModel <T>(T t, string strSigleNode, string strReqContent) { XmlDocument doc = new XmlDocument(); doc.LoadXml(strReqContent); Type target = t.GetType(); #region SetParentValue List <NameAndValue> lstAttr = new List <NameAndValue>(); XmlNode node = doc.SelectSingleNode("//Message"); for (int i = 0; i < node.Attributes.Count; i++) { string strName = node.Attributes[i].Name; NameAndValue nv = new NameAndValue(); nv.Name = strName; nv.Value = node.Attributes[strName].Value; lstAttr.Add(nv); } XmlNodeList nodeList = node.ChildNodes; for (int i = 0; i < nodeList.Count; i++) { for (int j = 0; j < nodeList[i].Attributes.Count; j++) { string strName = nodeList[i].Attributes[j].Name; NameAndValue nv = new NameAndValue(); nv.Name = strName; nv.Value = nodeList[i].Attributes[strName].Value; lstAttr.Add(nv); } } foreach (var v in lstAttr) { PropertyInfo targetPP = target.GetProperty(v.Name); object objValue = v.Value; if (objValue != null && string.IsNullOrEmpty(objValue.ToString()) == false) { targetPP.SetValue(t, SD_ChanageType(objValue, targetPP.PropertyType), null); } } #endregion XmlNode subNode = doc.SelectSingleNode("//" + strSigleNode); XmlNodeList nodes_Result = subNode.ChildNodes; if (nodes_Result.Count > 0) { //XmlNodeList subs = nodes[0].ChildNodes; foreach (XmlNode v in nodes_Result) { PropertyInfo targetPP = target.GetProperty(v.Name); object objValue = v.InnerText; if (objValue != null && string.IsNullOrEmpty(objValue.ToString()) == false) { targetPP.SetValue(t, SD_ChanageType(objValue, targetPP.PropertyType), null); } } } return(t); }
public T RespSetModelValue <T>(T t, string strType, string strContent) { XmlDocument doc = new XmlDocument(); doc.LoadXml(strContent); List <NameAndValue> lstAttr = new List <NameAndValue>(); XmlNode node = doc.SelectSingleNode("//Message"); for (int i = 0; i < node.Attributes.Count; i++) { string strName = node.Attributes[i].Name; NameAndValue nv = new NameAndValue(); nv.Name = strName; nv.Value = node.Attributes[strName].Value; lstAttr.Add(nv); } XmlNodeList nodeList = node.ChildNodes; for (int i = 0; i < nodeList.Count; i++) { for (int j = 0; j < nodeList[i].Attributes.Count; j++) { string strName = nodeList[i].Attributes[j].Name; NameAndValue nv = new NameAndValue(); nv.Name = strName; nv.Value = nodeList[i].Attributes[strName].Value; lstAttr.Add(nv); } } XmlNode subNote = doc.SelectSingleNode("//" + strType); XmlNodeList subNodeList = subNote.ChildNodes; for (int i = 0; i < subNodeList.Count; i++) { string strName = subNodeList[i].Name; NameAndValue nv = new NameAndValue(); nv.Name = strName; nv.Value = subNodeList[i].InnerText; lstAttr.Add(nv); } PropertyInfo[] pps = GetPropertyInfos(t.GetType().BaseType); Type target = t.GetType(); foreach (var v in lstAttr) { PropertyInfo targetPP = target.GetProperty(v.Name); object objValue = v.Value; if (objValue != null && string.IsNullOrEmpty(objValue.ToString()) == false) { targetPP.SetValue(t, SD_ChanageType(objValue, targetPP.PropertyType), null); } } return(t); }
/// <summary> /// 构造函数 /// </summary> /// <param name="prefix"></param> /// <param name="configList"></param> public WechatWorkConfig(string prefix, List <INameAndValue> configList) : base(prefix, configList) { CorpId = NameAndValue.GetValueFromConfig(prefix + ".corpId", configList); }