用名称“object”解析XML节点.在c#的XDocument中

本文关键字:节点 XDocument XML 解析 object | 更新日期: 2023-09-27 18:02:09

我的问题如下:我想解析一个用tile Map Editor创建的xml文件,我在其中插入了一个对象层(用于碰撞对象)。但不幸的是,tile在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#中是一个受保护的词,所以它不起作用。如何用最简单的方法处理这个问题,有什么建议吗?

用名称“object”解析XML节点.在c#的XDocument中

如果您绝对,绝对必须使用object作为您的变量名(这是不推荐的),那么您可以使用@符号作为前缀:

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

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