所以,我有這樣的XML:C#XML解析 - 獲取子節點的屬性
<tileset firstgid="1" name="simple_tiles" tilewidth="32" tileheight="32" tilecount="16" columns="8">
<image source="../Users/mkkek/Pictures/rpg/default_tiles_x.png" width="256" height="64"/>
</tileset>
當我在tileset
節點,我怎麼能訪問image
節點及其source
屬性?我的代碼如下:
public void LoadMaps(ContentManager content)
{
Dictionary<string, string> mapsToLoad = InitMapsToLoad();
foreach (KeyValuePair<string, string> mapToLoad in mapsToLoad)
{
Map map = new Map();
map.Name = Path.GetFileNameWithoutExtension(mapToLoad.Value);
reader = XmlReader.Create("Content/" + mapToLoad.Value);
while(reader.Read())
{
if(reader.NodeType == XmlNodeType.Element)
{
switch(reader.Name)
{
case "tileset":
if(!Tilesets.Any(ts => ts.Name == reader.GetAttribute("name")))
{
// handling the image node here
}
break;
}
}
}
}
}
是否有原因使用XmlReader而沒有LINQ to XML? – YuvShap
不,我應該使用它嗎?看來我無法訪問'System.Xml.Linq'命名空間。 – mkkekkonen
現在我發現了,我不得不添加它作爲參考。 – mkkekkonen