[英]Parsing this XML file to a Dictionary?
我是XML序列化的新手,到目前为止我一直在使用XDocument并迭代XML文件来加载东西。 我知道有一种方法可以序列化XML文件,最近我遇到了以下一些XML:
<?xml version="1.0" encoding="utf-8" ?>
<XnaContent>
<Asset Type="System.Collections.Generic.Dictionary[System.String, Microsoft.Xna.Framework.Rectangle]">
<Item><Key>frame0</Key><Value>0 0 128 128</Value></Item>
<Item><Key>frame1</Key><Value>128 0 128 128</Value></Item>
</Asset>
</XnaContent>
并且一直在试图弄清楚我是如何加载它并将其解析成字典,顶部说明资产类型= System.collections.generic.dictionary似乎建议我应该能够快速将其转换为字典。
所以我的问题是我该怎么做? 我可以轻松遍历xml结构并将键与值匹配,但看起来会有更好的方法吗?
编辑:刚走脱脂这篇文章和这一个 ,我怀疑你想使用任何IntermediateSerializer
或XmlImporter
。
不是XNA开发人员,我不清楚它是如何组合在一起的,但希望这足以让你开始。
当然,如果这只是XML的一个例子 ,并且您实际上想要序列化不属于XNA的数据,那么您可能需要查看XmlSerializer
。 就个人而言,我发现使用LINQ to XML手动控制序列化更简单 - 以这种方式管理不同版本等更容易 - 但在某些情况下XmlSerializer
会更方便。
这是令人惊讶的直截了当。 将XML文件添加到内容项目中 。 保留默认导入程序(“XML内容”)和处理程序(无)。
XNA内容管道将为您构建一个XNB
文件。
然后像使用任何其他资产一样使用ContentManager.Load
加载它:
var myContent = Content.Load<Dictionary<string, Rectangle>>("MyXmlFile");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.