博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Parameter配置文件获取
阅读量:5459 次
发布时间:2019-06-15

本文共 4753 字,大约阅读时间需要 15 分钟。

public class ConfigInfo    {        public static ParametersHelper Parameters        {            get { return new ParametersHelper(); }        }        public class ParametersHelper        {            string fileName = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase,JobConstValue.BUSINESS_CONFIG_FILE);            public PerParameter this[string name]            {                get                {                    string parameterStr = Utility.ExecuteXPathInFile(fileName, string.Format(@"/Parameters/Parameter[@name='{0}']", name.Trim()));                    if (parameterStr != null)                    {                        PerParameter returnObj = new PerParameter(name, parameterStr);                        return returnObj;                    }                    else                    {                        return null;                    }                }            }            public class PerParameter            {                public PerParameter(string name, string parameterStr)                {                    m_ParameterStr = parameterStr;                    m_Name = name;                    m_Value = Utility.ExecuteXPathInString(parameterStr, @"/Parameter/text()");                }                string m_ParameterStr;                private string m_Name;                public string Name { get { return m_Name; } }                public PerParameterAttributes Attributes                {                    get                    {                        string[] temp = m_ParameterStr.GetSubString(@"(?<=\
)"); if (temp != null && temp.Length > 0) return new PerParameterAttributes(temp[0]); else return null; } } string m_Value; public string Value { get { return m_Value; } } public List
Parameters { get { List
list = new List
(); XmlDocument doc = new XmlDocument(); doc.LoadXml(m_ParameterStr); XmlNodeList nodes = doc.SelectNodes("/Parameter/Parameter"); if (nodes != null && nodes.Count > 0) { foreach (XmlNode item in nodes) { list.Add(new PerParameter(item.Attributes["name"].InnerText, item.OuterXml)); } } return list; } } public PerParameter this[string name] { get { string parameterStr = Utility.ExecuteXPathInString(m_ParameterStr, string.Format(@"/Parameter/Parameter[@name='{0}']", name.Trim())); if (parameterStr != null) return new PerParameter(name, parameterStr); else return null; } } } public class PerParameterAttributes { public PerParameterAttributes(string attributes) { m_Attributes = attributes; } string m_Attributes = string.Empty; public string this[string name] { get { string[] results = m_Attributes.GetSubString(string.Format(@"(?<={0}\s*="").+", name)); if (results != null && results.Length > 0) { return results[0].ReplaceString(@""".*", string.Empty); } else return null; } } } } } 配置文件示例:
9N
9X
9R
B2B Order waiting for approval
Hold By RuleSet API
Hold S.O
7084500
99-993-001
00-999-157
^(DISCOUNT FOR COMBO #){1}\d{1,10}$|^(DISCOUNT FOR COMBO #){1}\d{1,10}( GIFT){1}$|^(DISCOUNT FOR AUTOADD #){1}\d{1,10}$

  

  

转载于:https://www.cnblogs.com/Wolfmanlq/p/3996518.html

你可能感兴趣的文章
隐马尔科夫模型(HMM) 举例讲解
查看>>
JedisUtils工具类模板
查看>>
NOIP2011题解
查看>>
[Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念
查看>>
[唐胡璐]QTP技巧 - ALT+G快捷键
查看>>
P2746 [USACO5.3]校园网Network of Schools
查看>>
java中使用队列:java.util.Queue
查看>>
随笔记录(2019.7.16)
查看>>
clang代替gcc
查看>>
【Shell】基础正则表示法及grep用法
查看>>
Demo整合
查看>>
Android基础——JSON数据的全方位解析
查看>>
Derek解读Bytom源码-持久化存储LevelDB
查看>>
规范化-数据库设计原则
查看>>
BASIC-24_蓝桥杯_龟兔赛跑预测
查看>>
C# 中使用Linq和Lambda表达式对List<T>进行排序
查看>>
offsetHeight, clientHeight与scrollHeight的区别
查看>>
002-python基础-hello-world
查看>>
WPF复杂形状按钮
查看>>
谈一谈循环的性能提升
查看>>