我知道其他地方也有人问过这个问题,但这些问题或答案都没有帮助。
我在我的 SL 4 应用程序中打开一个 xml 文件:
StreamResouceInfo sri = Application.GetResourceStream(new System.Uri("z.xml", UriKind.Relative));
if (null != sri)
{
XDocument xDoc = XDocument.Load(sri.Stream);
}
“根元素丢失”异常。
xml:
嗯,似乎无法发布 xml...它格式正确且有效,具有单个根节点并且所有标签都已关闭。
感谢您的任何提示...
让我们试试不带尖括号:
xml version="1.0" encoding="utf-8"
Root
Collection name="Fonts"
Value Lucida /Value
Value Arial /Value
/Collection
/Root
最佳答案
我刚遇到这个问题。我最终只是先将接收到的流放入 XmlReader,然后将其放入 XDocument.Load。
你的代码是
StreamResouceInfo sri = Application.GetResourceStream(new System.Uri("z.xml", UriKind.Relative));
if (null != sri)
{
XmlReader rdr = new XmlReader.Create(sri.Stream);
XDocument xDoc = XDocument.Load(rdr);
}
在我的例子中,我使用的是 WebClient.DownloadStringAsync 调用,所以它有点不同
void getCacheData_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error == null)
{
StringReader stream = new StringReader(e.Result);
XmlReader reader = XmlReader.Create(stream);
XDocument doc = new XDocument.Load(reader);
}
}
关于xml - SL4 : Root element is missing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2918137/