Skip to main content
added 1 character in body; edited title
Source Link
Jamal
  • 35.2k
  • 13
  • 134
  • 238

Better way to read Reading XML in C#?

This seems like rather too much nesting..:

This is ParseXMLValue(reader)ParseXMLValue(reader):

Better way to read XML in C#?

This seems like rather too much nesting..

This is ParseXMLValue(reader):

Reading XML in C#

This seems like rather too much nesting:

This is ParseXMLValue(reader):

Tweeted twitter.com/#!/StackCodeReview/status/106209263990484992
Source Link

Better way to read XML in C#?

This seems like rather too much nesting..

using (XmlReader reader = XmlReader.Create(filename))
{
    while (reader.Read())
    {
        if (reader.IsStartElement())
        {
            switch (reader.Name)
            {
                case "Width":
                    map.Width = ParseXMLValue(reader);
                    break;
                case "Height":
                    map.Height = ParseXMLValue(reader);
                    break;
                case "TileSize":
                    map.TileSize = ParseXMLValue(reader);
                    break;
                case "Layers":
                    map.LayerCount = ParseXMLValue(reader);
                    break;
                case "Layout":
                    ParseLayout(reader);
                    break;
                case "Layer":
                    currentLayerIndex = ParseLayer(reader);
                    break;
                case "CollisionLayer":
                    currentLayerIndex = ParseCollisionLayer();
                    break;
                case "Row":
                    ParseRow(reader);
                    break;
            }
        }
    }
}

This is ParseXMLValue(reader):

private int ParseXMLValue(XmlReader reader)
{
    reader.Read();

    return int.Parse(reader.Value);
}

I'm new to reading XML in C#. Surely there is a better way?