所以在我的C#程序中,我正在阅读一系列用户希望该程序从文件中执行的命令。我目前正在使用XML来存储这些数据。
我很难想出一种存储这些数据的好方法,而不会使用XML数据访问调用乱丢代码,从而将其与仅使用XML相结合。
以下是我正在使用的XML类型(提供上下文)的示例:
<cooking>
<job>
<name>Cook Scrambled Eggs</name>
<device>Robo-Chef</device>
<action>
<name>break eggs into pan</name>
</action>
<action>
<name>scramble the eggs</name>
<duration> 00:01:00</duration>
</action>
</job>
<trigger>
<name>Breakfast</name>
<forJob>Cook Scrambled Eggs</forJob>
<start_time> Everyday at 7:00 AM</start_time>
</trigger>
</cooking>
从调度XML文件中读取和存储我的程序中的数据有什么好方法,这样程序的其余部分就与XML文件中的数据分离了?
答案 0 :(得分:1)
好吧,你实际上可以序列化和反序列化为C#对象。
在这种情况下,您需要从示例数据中提取XML Schema,使用xsd.exe生成C#类,然后使用XmlSerializer
进行序列化和反序列化。
生成架构和类: https://stackoverflow.com/a/11654672/1373170
这样你只会偶然遇到其他C#类,而不用担心来源。您甚至可以稍后将格式更改为JSON,而无需重构所有内容。