1

我的问题如下:我想解析一个使用平铺地图编辑器创建的 xml 文件,我在其中插入了一个对象层(用于碰撞对象)。但不幸的是,Tiled 将 xml 文件中的节点命名为“objectgroup”及其后代“object”

<objectgroup name="solidObjects" width="100" height="100">
 <object gid="265" x="16" y="35"/>
 <object gid="265" x="66" y="36"/>
</objectgroup>

我正在尝试做类似的事情

XDocument doc = XDocument.Load("pathtoFile\sourcefile.xml");
List<Rectangle> objectList = new List<Rectangle>();

foreach (var object in doc.Element("objectgroup").Descendants("object"))
{ objectList.Add(objectRectangle); }

但是由于“object”在 c# 中是一个受保护的词,所以它不起作用。任何提示如何以最简单的方式处理此问题?

4

1 回答 1

3

如果你绝对必须使用object你的变量名(不推荐),那么你可以在它前面加上一个@符号:

foreach (var @object in doc.Element("objectgroup").Descendants("object")) {
    objectList.Add(@object);
}

符号前缀允许代码中的@标识符使用保留字作为其名称。

于 2013-03-04T10:09:59.770 回答