SL4:缺少根元素

时间:2010-05-27 02:35:48

标签: xml silverlight-4.0

我知道其他地方已经问过这个问题,但没有一个问题或答案有帮助 我在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

1 个答案:

答案 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);
    }
}