我知道其他地方已经问过这个问题,但没有一个问题或答案有帮助 我在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
答案 0 :(得分:1)
我刚才遇到了这个问题。我最后只是将收到的流放入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);
}
}