我知道,對於這個話題噸帖子的,但因爲我的職位期間讀取兩天,沒有什麼工作,我決定問這裏。 我有一個XML(Level01.xml)文件中像這樣如何通過XML的XDocument的XElement屬性在C#切換
<map version="1.0">
<tileset>
<image source="....>
</tileset>
<layer name="background">
<data encoding="csv">
3,3,3,3,3,3,3,
3,3,3,3,3,3,3,
3,3,3,3,3,3,3,
3,3,3,3,3,3,3
</data>
</layer>
<layer name="walls">
<data encoding="csv">
182,182,182,182,182,8,8,
182,8,182,8,8,8,8,
182,182,182,182,182,8,8,
182,8,182,8,8,8,8,
</data>
</layer>
</map>
它是一種(瓦片)地圖與不同層次,我希望把它收回去XNA。因此,我想從各層的數據讀入string[]
這是我試過,但它不會爲第二string[] walldata
工作,我絕對絕望,因爲我不明白爲什麼
public class LevelXmlReader
{
public string[] backgroundData;
public string[] wallData;
LevelXmlReader()
{
XDocument doc = XDocument.Load(@"Level/Level01.xml");
foreach (XElement layer in doc.Element("map").Descendants("layer"))
{
var lay = doc.Element("map").Element("layer");
var layName = lay.Attribute("name").Value;
switch (layName)
{
case "background":
{
backgroundData = lay.Element("data").Value.Split(',');
}
break;
case "walls":
{
wallData = lay.Element("data").Value.Split(',');
}
break;
}
}
}
}
當我嘗試繪製wallData
,總是有ExceptionError「對象引用未設置爲對象的實例」。
謝謝,這工作 –
向前並接受答案即可。如果你一直問問題而沒有給出正確的答案,人們就會因此而煩惱 – Nevyn
當然!對不起... –