c# – 用于使用反射编写脚本的XML SAX解析器

我想要使​​用
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反序列化对象,强制转换为接口,并调用其例程.

点赞