xml 文件中是否可以包含非重复元素?
Is it possible to have non reapating element in an xml file?
我正在开发一款简单的冒险游戏,现在我有一个 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 或它是否总是必须只是重复元素?
现在游戏可以运行了,但我不确定将这些文件也分开是个好习惯,因为我必须始终同时更新它们。我宁愿将它们合并在一起。
非常感谢您的帮助。
麦克
XDocument
提供通过 "path".
访问特定元素的方法
要获取玩家物品栏的所有元素,您需要类似这样的代码:
IEnumerable<XElement> playerItems = x.Element("player").Element("inventory").Elements();
并获取第一个位置的对象:
IEnumerable<XElement> locationObjects = x.Element("world").Elements("location").First().Element("inventory").Elements();
注意Element()
和Elements()
的区别,第一个returns只有一个元素;第二个 returns 一个 IEnumerable<XElement>
。
当您想要检索所有位置的对象时,这很重要。
获取所有元素后,您需要处理它们;您可以通过 Value
属性 访问元素的值,这是 String
.
我正在开发一款简单的冒险游戏,现在我有一个 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 或它是否总是必须只是重复元素?
现在游戏可以运行了,但我不确定将这些文件也分开是个好习惯,因为我必须始终同时更新它们。我宁愿将它们合并在一起。
非常感谢您的帮助。 麦克
XDocument
提供通过 "path".
要获取玩家物品栏的所有元素,您需要类似这样的代码:
IEnumerable<XElement> playerItems = x.Element("player").Element("inventory").Elements();
并获取第一个位置的对象:
IEnumerable<XElement> locationObjects = x.Element("world").Elements("location").First().Element("inventory").Elements();
注意Element()
和Elements()
的区别,第一个returns只有一个元素;第二个 returns 一个 IEnumerable<XElement>
。
当您想要检索所有位置的对象时,这很重要。
获取所有元素后,您需要处理它们;您可以通过 Value
属性 访问元素的值,这是 String
.