xml - SL4 : Root element is missing

标签 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

最佳答案

我刚遇到这个问题。我最终只是先将接收到的流放入 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/

相关文章:

silverlight - 为什么使用 "RIA Services Link"而不仅仅是 OData 端点?

c# - 随机选择具有相同名称的 XML 节点

xml - XSLT 元素的逗号分隔

java - 如何跳过 JAXB 绑定(bind)中的复杂类型

银光 4 : Detect browser F5/refresh and X/Close

silverlight-4.0 - 有没有办法以编程方式退出我的应用程序? (Windows 电话 7)

.net - 如何在 Bing Maps Silverlight 中绑定(bind)最大和最小缩放级别

silverlight - 如何为 Silverlight 编译 C++/CLI 代码?

java - 如何为使用 xjc :javaType 自定义的元素生成 @XmlSchemaType

java - 在 java 中访问 xml 元素中的属性