Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 根级别的数据无效。第1行,位置1_C#_Xml_Windows Phone 7 - Fatal编程技术网

C# 根级别的数据无效。第1行,位置1

C# 根级别的数据无效。第1行,位置1,c#,xml,windows-phone-7,C#,Xml,Windows Phone 7,我正在从internet下载一个xml文件,并将其保存在独立存储中。如果我试图阅读它,我会得到一个错误: 根级别的数据无效。第1行,位置1 这就是我下载和保存文件的方式 我试着这样读: IsolatedStorageFileStream fileStream = myIsolatedStorage.OpenFile("myfile.xml", FileMode.Open, FileAccess.Read); XDocument xmlDoc = XDocument.Load(fileStream

我正在从internet下载一个xml文件,并将其保存在独立存储中。如果我试图阅读它,我会得到一个错误:

根级别的数据无效。第1行,位置1

这就是我下载和保存文件的方式

我试着这样读:

IsolatedStorageFileStream fileStream = myIsolatedStorage.OpenFile("myfile.xml", FileMode.Open, FileAccess.Read);
XDocument xmlDoc = XDocument.Load(fileStream);
这就是我得到错误的地方

我没有问题读取相同的文件而不下载并保存到独立的存储。。。所以一定有故障。

这是:

writer.WriteLine(e.Result);
不会做你认为它会做的事。它只是在流上调用ToString,并将结果写入文件

我建议您完全避免使用StreamWriter,只需从e.Result直接复制到IsolatedStorageFileStream:

其中CopyStream是一种只复制数据的方法,例如

public static void CopyStream(Stream input, Stream output)
{
    byte[] buffer = new byte[8 * 1024];
    int read;
    while((read = input.Read (buffer, 0, buffer.Length)) > 0)
    {
        output.Write (buffer, 0, read);
    }
}
这:

不会做你认为它会做的事。它只是在流上调用ToString,并将结果写入文件

我建议您完全避免使用StreamWriter,只需从e.Result直接复制到IsolatedStorageFileStream:

其中CopyStream是一种只复制数据的方法,例如

public static void CopyStream(Stream input, Stream output)
{
    byte[] buffer = new byte[8 * 1024];
    int read;
    while((read = input.Read (buffer, 0, buffer.Length)) > 0)
    {
        output.Write (buffer, 0, read);
    }
}

你所说的内容是什么意思?这是一个典型的xml文件。我没有问题读取相同的文件而不下载并保存到独立的存储。。。那一定是有错了。你有没有试过看文件的内容。我强烈怀疑这不是一个典型的XML文件……您所说的内容是什么意思?这是一个典型的xml文件。我没有问题读取相同的文件而不下载并保存到独立的存储。。。那一定是有错了。你有没有试过看文件的内容。我强烈怀疑这不会是一个典型的XML文件……感谢您如此亲切地教育我。我还发现文件的内容是MS.Internal.InternalMemoryStream,而不是我所期望的xml内容。我必须安装独立的插件来检查独立的存储,这就是为什么需要时间的原因。你的建议非常有效!!!谢谢你如此亲切地教育我。我还发现文件的内容是MS.Internal.InternalMemoryStream,而不是我所期望的xml内容。我必须安装独立的插件来检查独立的存储,这就是为什么需要时间的原因。你的建议非常有效!!!
public static void CopyStream(Stream input, Stream output)
{
    byte[] buffer = new byte[8 * 1024];
    int read;
    while((read = input.Read (buffer, 0, buffer.Length)) > 0)
    {
        output.Write (buffer, 0, read);
    }
}