If anyone can explain why I’m getting a “Root element is missing” error when my XML document (image attached) has a root element, they win a pony which fires lazers from its eyes.

Code:
if (ISF.FileExists("Players.xml"))
{
string xml;
using (IsolatedStorageFileStream rawStream = ISF.OpenFile("Players.xml", FileMode.Open))
{
StreamReader reader = new StreamReader(rawStream);
xml = reader.ReadToEnd();
XmlReaderSettings settings = new XmlReaderSettings { IgnoreComments = true, IgnoreWhitespace = true };
XmlReader xmlReader = XmlReader.Create(reader, settings);
while (xmlReader.Read())
{
switch (xmlReader.NodeType)
{
case XmlNodeType.Element:
switch (xmlReader.Name)
{
case "numberOfPlayers":
string nodeValue = xmlReader.ReadContentAsString();
int NODEVALUE = int.Parse(nodeValue);
MessageBox.Show(" " + NODEVALUE);
break;
}
break;
}
break;
}
reader.Close();
}
}
Your problem is due to this line:
This positions the reader stream to the end so that when
XmlReader.Createis executed, there is nothing left in the stream for it to read.If you need the
xmlstring to be populated, then you need to close and reopen the reader prior toXmlReader.Create. Otherwise, removing or commenting this line out will solve your problem.