我试图解析的 XML 似乎有问题。
XML 如下所示:
<room>
<property1>3</property1>
<property2>2</property2>
...
<instances>
<instance name="instance1" x="0" y="0" />
<instance name="instance2" x="0" y="0" />
<instances>
</room>
我正在尝试遍历所有instance
标签,但是 C# 似乎不支持带有关闭快捷方式 ( <tag attribute="value" />
) 的标签。
这是我的代码:
XmlReader reader = XmlReader.Create("file.xml");
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element && reader.Name == "instances")
{
while (reader.NodeType != XmlNodeType.EndElement)
{
reader.Read();
Logger.Log(reader.Name);
}
}
}
它似乎只迭代一个instance
标签并跳过其余标签。我尝试了一些方法,包括 LINQ 和 XDocument,但它似乎具有相同的效果。然后我意识到它可能是,因为 C# 不支持标签关闭快捷方式。这是真的?有没有办法可以启用对关闭快捷方式的支持?我做错了什么吗?
如果 C# 不支持关闭快捷方式,我可以使用一个好的 C# XML 库来支持它吗?