更新:一些背景 - 我使用XML文件通过驱动JasperReports的Java应用程序生成一组PDF。当我使用这个新的XML文件时,所有的报告都是空白的。我已经排除了网络问题,因为我使用了来自同一服务器的旧XML文件来运行Java应用程序。我已经使用十六进制编辑器比较了两个文件(旧文件和新文件),我的第一个线索是新文件中有回车符,而旧文件中没有回车符。这可能无法解决问题,但我想将其从方程式中消除。
我认为我需要从我的XML文件中删除所有回车符,以便它按照我的要求工作。在我的搜索中,我找到了最接近的解决方法:
.Replace("\r","")
但是在以下代码中我该在哪里使用它呢?我创建了我的数据模型,创建了一个根节点,并将其传递给序列化程序。在什么时候可以说"去除回车符"?
let def = new reportDefinition("decileRank", "jasper", new template("\\\\server\\location\\filename.jrxml", "jrxml"))
let header = new reportDefinitions([| def |])
let root = reportGenerator(header, new dbConnection(), new reports(reportsArray))
let path = sprintf "C:\\JasperRpt\\parameter_files\\%s\\%d\\%s\\%s\\" report year pmFirm pmName //(System.DateTime.Now.ToString("ddMMyyyy"))
Directory.CreateDirectory(path) |> ignore
let filename = sprintf "%s%s" path month
printfn "%s" filename
use fs = new FileStream(filename, FileMode.Create)
let xmlSerializer = XmlSerializer(typeof<reportGenerator>)
xmlSerializer.Serialize(fs,root)
fs.Close()