我已经为用户设置添加了一个为config.xml文件添加的应用程序。C# - 从XML创建的数据集中读取数据的干净方式
我通过简单地阅读它:
DataSet config = new DataSet();
config.ReadXml(configPath);
参数config.xml中在一些表下分组列:
<?xml version="1.0" standalone="yes"?>
<UserSetup>
<TableA>
<revBegin>value1</revBegin>
<revEnd>value2</revEnd>
...
</TableA>
...
</UserSetup>
我正在寻找的是读一个干净的方式从DataSet配置中,不需要记忆表或列的名称。
在我目前的执行我实现了由下面的类:
public static class MyTables
{
public static class TableA
{
public const String name = "TableA";
public const String revBegin = "revBegin";
public const String revEnd = "revEnd";
...
}
...
}
和我读到这样的价值观:
String revEnd = config.Tables[MyTables.TableA.name].Rows[0][MyTables.TableA.revEnd].ToString();
但我不知怎么填,这是相当复杂的解决很简单的问题 - 不要说讨厌的方式。
你有什么想法,我怎么能让事情变得更简单或更清洁?
P.S.在某些时候,我尝试将config.Tables[MyTables.TableA.name]
部分减少到config.Tables[MyTables.TableA]
,但是 - 我怎么看它 - 它需要将Index[object]
添加到密封类DataTableCollection
并在我的静态类中覆盖ToString()
方法 - 两者都不可能。我对吗?
我通常创建一个示例DataSet,然后使用config.WriteXml(“filename”,XmlWriteMode.WriteSchema)保存;标准DataSet的根标签为DataSet名称,下一级标签为表名,第三级标签为列名后跟行数据。 – jdweng