かなり長い間、XML ファイルを XNA プロジェクトにインポートしようとしてきました。ここまでできたと思ったら、こんなエラーが出てきました。たくさん検索しましたが、役立つ答えが見つかりませんでした。これは、XML ドキュメントの一部を切り取ったものです。
<?xml version="1.0" encoding="utf-8" ?>
<XnaContent>
<!-- TODO: replace this Asset with your own XML asset data. -->
<Asset Type="Library.Room">
<Tile itIs="Wall">
<x>0</x>
<y>0</y>
<o>0</o>
</Tile>
</Asset>
</XnaContent>
ビルドしようとすると、次のエラーが発生します。
「コンテンツのビルド中に RankException がスローされました: 多次元配列をシリアル化できません。」
プロジェクト コードの行をコメント アウトしても、このエラーは変わらないので、XML の書き方に問題があることがわかります。(私は大丈夫だと思った)
つまり、XML の書き方が間違っている可能性が高いということです。XML の多次元配列とは何ですか?どうすれば回避できますか?
___追加情報
ここでは、XML 情報を配列に 1 つずつ追加します。--当然、最初はこれが問題だと思っていましたが、コメントアウトしても何も起こりません。
public void loadFromFile(string fileName, Room r)
{
var doc = XElement.Load(fileName);
foreach (var v in roomDoc.Elements("Tile"))
{
r.blueprint.SetValue(new Things.Wall((int)v.Element("o")), (int)v.Element("x"), (int)v.Element("y"));
}
}