How to get an attribute value as int using XmlReader?

stopsign

New Member
I'm very new to C# programming, here's my first question.I'd like to read the attribute named ID of window and then parse it into an int.Here's my XML document:\[code\]<window ID="0"> <parentID>0</parentID> <windowType>0</windowType> <windowName>firstWindow</windowName> <windowText>My first window</windowText> <windowOptions>Option 1; Option 2;</windowOptions> <windowActions>Action 1; Action 2;</windowActions> <windowExit>Exit Action;</windowExit></window>\[/code\]Here's my C# code, it should read the information from the XML files and then parse them into a 2D array.\[code\]string[][] windowResults;using (XmlReader reader = XmlReader.Create("GUI.xml")){ int windowCount = 0; int nodeCount = 0; int windowID = 0; while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element && reader.Name == "window") { nodeCount++; } } windowResults = new string[nodeCount][]; while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: if (reader.Name == "window") { while (reader.MoveToNextAttribute()) { int.TryParse(reader.Value, out windowID); } } break; case XmlNodeType.Text: switch (reader.Value) { case "parentID": windowResults[windowID][1] = reader.Value; break; case "windowType": windowResults[windowID][2] = reader.Value; break; case "windowText": windowResults[windowID][3] = reader.Value; break; case "windowOptions": windowResults[windowID][4] = reader.Value; break; case "windowActions": windowResults[windowID][5] = reader.Value; break; case "windowExit": windowResults[windowID][6] = reader.Value; break; } break; case XmlNodeType.EndElement: switch (reader.Name) { case "window": windowCount++; break; } break; } }}\[/code\]Currently it gives me the following error:\[quote\] 'int' is a 'type' but is used like a 'variable'\[/quote\]
 
Back
Top