如果有人能解释为什么当我的XML文档(附加图像)具有根元素时出现“缺少根元素”错误,那么他们将赢得一匹小马,从它的眼中射出激光。

代码:

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();
    }
}

最佳答案

您的问题是由于以下原因:

xml = reader.ReadToEnd();

这会将读取器流定位到末尾,以便在执行XmlReader.Create时,流中没有任何内容可供读取。

如果需要填充xml字符串,则需要在XmlReader.Create之前关闭并重新打开阅读器。否则,删除或注释掉该行将解决您的问题。

08-03 13:37