我想要使用
XML创建一个假设的脚本系统.我们的想法是使用SAX解析器和C#反射.
我找不到允许使用XML文件指定自定义操作的库/框架.这时我使用XML来序列化应用程序类,bug可能非常棒,可以指定应用程序使用XML执行哪些操作.
所以,我在考虑:
> C#的SAX解析器实现?
> XML脚本约定?
我想要实现的是:
– 分配类实例属性的可能性
– 调用类实例例程的可能性
假设类实例是隐式的,以下XML脚本对我来说是金色的:
<Script>
<Property Name='SomeProperty'>
<Value>
< ... >
</Value>
</Property>
<RoutineCall>
<Parameters>
<Parameter Name='ArgName'>
< ... >
</Parameter>
</Parameters>
</RoutineCall>
</Script>
它已经由某人完成了?可能吗?
最佳答案 虽然不是SAX解析器,但
MSBuild和
NAnt是基于XML的脚本平台的优秀示例.两者都支持开发自定义操作,并拥有大量用户,可以随时为您提供帮助.
如果必须从头开始构建,我建议构建实现简单执行接口的可序列化类(例如,Run()方法,已知事件等).然后,您可以使用.NET XmlSerializer
反序列化对象,强制转换为接口,并调用其例程.