"缺少根元素"错误,但我有一个根元素 [英] "Root element is missing" error but I have a root element
问题描述
如果任何人都可以解释为什么我得到一个根元素是缺少的错误时,我的XML文档(图像附后)有一个根元素,他们赢这从它的眼睛触发lazers一匹小马。
代码:
如果(ISF.FileExists(Players.xml))
{
字符串的XML;使用(IsolatedStorageFileStream rawStream = ISF.OpenFile(Players.xml,FileMode.Open))
{
StreamReader的读者=新的StreamReader(rawStream)
;
XML = reader.ReadToEnd();
XmlReaderSettings设置=新的XmlReaderSettings {IgnoreComments = TRUE,IgnoreWhitespace =真};
的XmlReader的XMLReader = XmlReader.Create(读卡器,设置);
,而(xmlReader.Read())
{
开关(xmlReader.NodeType)
{
情况下XmlNodeType.Element:
开关(xmlReader.Name )
{
案numberOfPlayers:
串的nodeValue = xmlReader.ReadContentAsString();
INT的nodeValue = int.Parse(的nodeValue);
MessageBox.Show(+的nodeValue);
中断;
}
中断;
}
中断;
}
reader.Close();
}
}
您问题是由于这一行:
XML = reader.ReadToEnd();
这定位读者流结束,这样当 XmlReader.Create
执行,没有什么留给它来读取流。
如果您需要的 XML
string要填充,那么你需要关闭和 XmlReader.Create
。否则,删除或注释掉这一行出将解决你的问题。
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:
xml = reader.ReadToEnd();
This positions the reader stream to the end so that when XmlReader.Create
is executed, there is nothing left in the stream for it to read.
If you need the xml
string to be populated, then you need to close and reopen the reader prior to XmlReader.Create
. Otherwise, removing or commenting this line out will solve your problem.
这篇关于"缺少根元素"错误,但我有一个根元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!