我正在制作一个简单的冒险游戏,现在我有一个xml文件来加载世界,另一个用于播放器。
这是我想要创建的简化xml:
<root>
<world>
<location>
//room 1
<inventory>
talble, chair...
</inventory>
</location>
<location>
//room 2
</location>
</world>
<player>
//some player stats i.e the location he is currently in.
<inventory>
the player bag containing objects
</inventory>
</player>
</root>
我是否可以解析该文件以获取播放器广告资源或位置广告资源?是允许创建不对称的xml还是总是必须只重复元素?
现在游戏有效,但我不确定将这些文件分开是好的做法,因为我必须同时更新它。我宁愿把它们合并在一起。
非常感谢你的帮助。 麦克
答案 0 :(得分:1)
XDocument
提供了通过&#34;路径&#34;访问特定元素的方法。
要获取播放器广告资源的所有元素,您需要与此类似的代码:
IEnumerable<XElement> playerItems = x.Element("player").Element("inventory").Elements();
获取第一个位置的对象:
IEnumerable<XElement> locationObjects = x.Element("world").Elements("location").First().Element("inventory").Elements();
注意Element()
和Elements()
之间的区别,第一个只返回一个元素;第二个返回IEnumerable<XElement>
。
当您想要检索所有位置的对象时,这很重要。
检索完所有元素后,您需要处理它们;您可以通过Value
属性String
来访问元素的值。