繁体   English   中英

在C#中的XDocument中解析名为“object”的XML节点

[英]parse XML nodes with the name “object” in XDocument in C#

我的问题如下:我想解析用Tiled Map Editor创建的xml文件,其中我插入了一个objectlayer(用于碰撞对象)。 但遗憾的是,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); }

但由于“对象”是c#中受保护的单词,因此无效。 如何以最简单的方式处理这个问题的任何提示?

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM