我已經爲用戶設置添加了一個爲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