我正在用Java创建一个程序,该程序读取一串XSL-FO代码,用应用程序数据填充空字段,并将其添加到StringReader,最终将其设置为Web调度程序的InputSource。

我已经有了查找和填充空白模板的代码,现在我需要遍历模板X次,以创建同一文档的X个实例,将它们全部合并为一个文档。

伪代码:

StringReader reader = new StringReader();

for (Iterator i = Object.iterator(); i.hasNext();
{
Object o = (Object) i.next();
reader.append(populateObject(o);
}
InputSource isource = new InputSource(reader);

但是,StringReader没有附加功能,也可能没有一个附加功能。那么,如何创建一个InputSource来满足对我的XML代码的完整,准确引用的需求,该引用可以由InputSource对象读取?

最佳答案

您可以尝试预先进行所有附加操作:

StringBuilder sb = new StringBuilder();

for (...)
    sb.append(populateObject(obj));

StringReader reader = new StringReader(sb.toString());

如果您使用的Java版本低于5,请使用StringBuffer

10-06 03:18