/// <summary> /// 设置参数 /// </summary> /// <param name="xmldoc">参数列表文档</param> /// <param name="PR">参数区域类别</param> /// <param name="rangeName">参数区域名称</param> /// <param name="L">参数使用来源类别</param> /// <param name="key">参数名称</param> /// <param name="value">参数值</param> /// <param name="dbtype">参数数据类型</param> /// <returns>返回参数节点</returns> static public XmlElement setValue(XmlDocument xmldoc, ParamRangeType PR, string rangeName, ParamUseType L, string key, string value, DBTypeCommon dbtype) { if (xmldoc == null || string.IsNullOrEmpty(key)) return null; if (xmldoc.DocumentElement == null) try { xmldoc.LoadXml("<D></D>"); } catch { } //对于系统参数和页面参数,只有一个区域,名称后边覆盖前边 string strPRName = "P"; if (ParamRangeType.System == PR) strPRName = "S"; if (ParamRangeType.Page == PR) strPRName = "P"; if (ParamRangeType.Band == PR) strPRName = "B"; XmlNode xnPR = xmldoc.SelectSingleNode("//PL[@t='" + strPRName + "']"); if (ParamRangeType.Band == PR && !string.IsNullOrEmpty(rangeName)) { xnPR = xmldoc.SelectSingleNode("//PL[@t='B' and @n='" + rangeName + "']"); if (null == xnPR) xnPR = xmldoc.SelectSingleNode("//PL[@t='B' and not(@n)]"); } if (null == xnPR) { xnPR = xmldoc.CreateElement("PL"); xnPR = xmldoc.DocumentElement.AppendChild(xnPR); ((XmlElement)xnPR).SetAttribute("t", strPRName); } if (!string.IsNullOrEmpty(rangeName)) ((XmlElement)xnPR).SetAttribute("n", rangeName); string strLName="T"; if (ParamUseType.Temp == L) strLName = "T"; if (ParamUseType.CustomDefine == L) strLName = "C"; if (ParamUseType.Data == L) strLName = "D"; if (ParamUseType.Trans == L) strLName = "Ts"; XmlNode xnL = xnPR.SelectSingleNode("L[@t='"+strLName+"']"); if (null == xnL) { xnL = xmldoc.CreateElement("L"); xnL = xnPR.AppendChild(xnL); ((XmlElement)xnL).SetAttribute("t", strLName); } XmlElement xeParam = xnL.SelectSingleNode("P[@n='"+key+"']") as XmlElement; if (null == xeParam) { xeParam = xmldoc.CreateElement("P"); xeParam = xnL.AppendChild(xeParam) as XmlElement; xeParam.SetAttribute("n", key); } xeParam.SetAttribute("v", value); switch (dbtype) { case DBTypeCommon.String: xeParam.SetAttribute("t", "s"); break; case DBTypeCommon.Int: xeParam.SetAttribute("t", "i"); break; case DBTypeCommon.Decimal: xeParam.SetAttribute("t", "f"); break; case DBTypeCommon.DateTime: xeParam.SetAttribute("t", "d"); break; case DBTypeCommon.Bool: xeParam.SetAttribute("t", "b"); break; case DBTypeCommon.Guid: xeParam.SetAttribute("t", "guid"); break; default: xeParam.SetAttribute("t", "s"); break; } return xeParam; }
/// <summary> /// 设置参数 /// </summary> /// <param name="xmldoc">参数列表文档</param> /// <param name="PR">参数区域类别</param> /// <param name="rangeName">参数区域名称</param> /// <param name="L">参数使用来源类别</param> /// <param name="key">参数名称</param> /// <param name="value">参数值</param> /// <param name="dbtype">参数数据类型</param> /// <returns>返回参数节点</returns> static public XmlElement setValue(XmlDocument xmldoc, ParamRangeType PR, string rangeName, ParamUseType L, string key, string value, DBTypeCommon dbtype) { if (xmldoc == null || string.IsNullOrEmpty(key)) { return(null); } if (xmldoc.DocumentElement == null) { try { xmldoc.LoadXml("<D></D>"); } catch { } } //对于系统参数和页面参数,只有一个区域,名称后边覆盖前边 string strPRName = "P"; if (ParamRangeType.System == PR) { strPRName = "S"; } if (ParamRangeType.Page == PR) { strPRName = "P"; } if (ParamRangeType.Band == PR) { strPRName = "B"; } XmlNode xnPR = xmldoc.SelectSingleNode("//PL[@t='" + strPRName + "']"); if (ParamRangeType.Band == PR && !string.IsNullOrEmpty(rangeName)) { xnPR = xmldoc.SelectSingleNode("//PL[@t='B' and @n='" + rangeName + "']"); if (null == xnPR) { xnPR = xmldoc.SelectSingleNode("//PL[@t='B' and not(@n)]"); } } if (null == xnPR) { xnPR = xmldoc.CreateElement("PL"); xnPR = xmldoc.DocumentElement.AppendChild(xnPR); ((XmlElement)xnPR).SetAttribute("t", strPRName); } if (!string.IsNullOrEmpty(rangeName)) { ((XmlElement)xnPR).SetAttribute("n", rangeName); } string strLName = "T"; if (ParamUseType.Temp == L) { strLName = "T"; } if (ParamUseType.CustomDefine == L) { strLName = "C"; } if (ParamUseType.Data == L) { strLName = "D"; } if (ParamUseType.Trans == L) { strLName = "Ts"; } XmlNode xnL = xnPR.SelectSingleNode("L[@t='" + strLName + "']"); if (null == xnL) { xnL = xmldoc.CreateElement("L"); xnL = xnPR.AppendChild(xnL); ((XmlElement)xnL).SetAttribute("t", strLName); } XmlElement xeParam = xnL.SelectSingleNode("P[@n='" + key + "']") as XmlElement; if (null == xeParam) { xeParam = xmldoc.CreateElement("P"); xeParam = xnL.AppendChild(xeParam) as XmlElement; xeParam.SetAttribute("n", key); } xeParam.SetAttribute("v", value); switch (dbtype) { case DBTypeCommon.String: xeParam.SetAttribute("t", "s"); break; case DBTypeCommon.Int: xeParam.SetAttribute("t", "i"); break; case DBTypeCommon.Decimal: xeParam.SetAttribute("t", "f"); break; case DBTypeCommon.DateTime: xeParam.SetAttribute("t", "d"); break; case DBTypeCommon.Bool: xeParam.SetAttribute("t", "b"); break; case DBTypeCommon.Guid: xeParam.SetAttribute("t", "guid"); break; default: xeParam.SetAttribute("t", "s"); break; } return(xeParam); }
/// <summary> /// 设置参数 /// </summary> /// <param name="xmldoc">参数列表文档</param> /// <param name="PR">参数区域类别</param> /// <param name="key">参数名称</param> /// <param name="value">参数值</param> /// <param name="dbtype">参数类型</param> /// <returns>返回参数节点</returns> static public XmlElement setValue(XmlDocument xmldoc, ParamRangeType PR, string key, string value, DBTypeCommon dbtype) { return setValue(xmldoc, PR, "", ParamUseType.Temp, key, value, dbtype); }
/// <summary> /// 设置参数 /// </summary> /// <param name="xmldoc">参数列表文档</param> /// <param name="PR">参数区域类别</param> /// <param name="key">参数名称</param> /// <param name="value">参数值</param> /// <param name="dbtype">参数类型</param> /// <returns>返回参数节点</returns> static public XmlElement setValue(XmlDocument xmldoc, ParamRangeType PR, string key, string value, DBTypeCommon dbtype) { return(setValue(xmldoc, PR, "", ParamUseType.Temp, key, value, dbtype)); }