我正在使用Crystal report for Eclipse,我想打开一个报表,并从XML文件中设置DataSource,然后打印它。
据我所知,模式和数据必须设置在XML数据集中才能工作,但我还没能让它工作。
ReportClientDocument report = new ReportClientDocument();
report.open("reportpath.rpt",0)
byte[] schemaXML = Files.ReadAllBytes(new File("schema.xsd").toPath());
ByteArray schemaByteArray = new ByteArray(schemaByteArray);
byte[] dataXML = Files.ReadAllBytes(new File("data.xml").toPath());
ByteArray xmlByteArray = new ByteArray(xmlByteArray);
DatabaseController dbc = report.getDatabaseController();
XMLDataSet dataset = new XMLDataSet();
dataset.setXMLSchema(schemaByteArray);
dataset.setXMLData(xmlByteArray);
dbc.setDataSource(dataset,"TableName", "TableName");报告会导出一个空白PDF文件。运行时无错误。我在想,也许我把XSD和XML文件弄错了,任何示例都是值得感谢的。
发布于 2021-03-02 10:50:17
对于任何遇到这个问题的人来说:代码工作得很好。问题出在XML和XSD文件上。我让他们使用一个单一的元素,我仍然在努力弄清楚如何让它与DataSet一起工作。
最后一行代码中的一处更正:
dbc.setDataSource(dataset,"", "");这样,它将自动尝试在XML文件中查找模式
https://stackoverflow.com/questions/66395146
复制相似问题