在程序启动时解析XML还是方法调用需要它更好?

时间:2015-05-29 14:44:02

标签: c# xml parsing

我现在正在C#中创建一个游戏,它使用XML来构建不同角色的技能。 (为简洁起见,此文件包含本示例中已删除的属性,例如损坏。)

<Classes>
    <Class name="Mage">
        <skill name="Fireball">
        </skill>
    </Class>
    <Class name="Knight">
        <skill name="Slash">
        </skill>
    </Class>
    .
    .
    .
</Classes>

我正在创建一个XMLParser类,以根据每个角色的名称获取每个角色的技能(&#39; XMLParser.getSkillsByName(&#34; Mage&#34;)&#39;返回技能列表)。

是否应该在游戏启动时解析此XML文件,并将每组技能分配给相应的类类型(Mage,Knight等);还是应该在需要知道的基础上调用解析器?即,一旦玩家选择了他们的类类型,该类选择的构造函数将解析XML文件以获得与其相关的技能。

目前,我已经开始实施后一种选择。每个班级类型都有一个基本类型&#39;玩家&#39;。玩家有一种方法可以根据名称来获取类类型的技能 - 所以在每个角色的构造函数中,都会有类似于

的行
List<Skill> mySkills = base.getSkillsByName("Mage");

我只是问,因为我工作的地方正在做类似的事情,但是他们一开始就解析XML,然后根据对象列表从对象列表中调用。

1 个答案:

答案 0 :(得分:0)

这两种技术都是可行的但在你的情况下我会选择在加载时解析。这样,您的游戏在游戏时间内的性能会略微提高,并且您可以消除在游戏过程中遇到数据验证错误的风险。