Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.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
.Net(C#)-SSRS.rdl文件未正确写入?_C#_Xml_Ssrs 2012 - Fatal编程技术网

.Net(C#)-SSRS.rdl文件未正确写入?

.Net(C#)-SSRS.rdl文件未正确写入?,c#,xml,ssrs-2012,C#,Xml,Ssrs 2012,我在使用XML(以rdl格式读/写SSRS报告定义)时遇到问题。我试着读一读,然后再写一遍。(我也打算做一些编辑,但现在已经被禁用了) 再次编写时,我丢失了很多格式,而且似乎也丢失了数据。写入文件的文件大小约为我读入文件的30-40%,尽管我现在已经禁用了编辑位。 我写了一篇读者文章: public class XMLLoader { public SSRSDocument Load(string path, string filename) { var doc

我在使用XML(以rdl格式读/写SSRS报告定义)时遇到问题。我试着读一读,然后再写一遍。(我也打算做一些编辑,但现在已经被禁用了) 再次编写时,我丢失了很多格式,而且似乎也丢失了数据。写入文件的文件大小约为我读入文件的30-40%,尽管我现在已经禁用了编辑位。 我写了一篇读者文章:

public class XMLLoader
{
    public SSRSDocument Load(string path, string filename)
    {
        var doc = new XmlDocument();
        doc.Load(path+filename);
        var result = new SSRSDocument
        {
            Report = doc,
            Path = path,
            Filename = filename
        };
        return result;
    }
}
还有一位作家:

public class XMLWriter
{

    public void Write(SSRSDocument document, string path, string filename)
    {
        var writer = XmlWriter.Create(path + filename);
        document.Report.Save(writer);
    }
}
SSRS文档是一个包含XML和一些元数据的结构(目前只包含XML和文件的位置,但稍后将进行扩展):

我的输入文件是450kib,但我的输出只有170KiB

此外,许多行尾都已消失,但似乎一些报表定义数据也已消失。我想知道我做错了什么。当我在读和写之间不做任何改变时,我不应该在我的输出中得到与我的阅读器读到的相同的文件吗


[编辑]不幸的是,由于RDL中数据的敏感性质,我无法发布RDL。

您可能正在丢失空白。确保你在读写正确的文件。该死,结果证明你是对的。我在谷歌上搜索了一些关于格式保存的内容,现在报告的格式与源文件相同。Thnx:)
public struct SSRSDocument
{
    public XmlDocument Report { get; set; }

    public string Path { get; set; }

    public string Filename { get; set; }

}