2013-07-24 2 views
3

Я создаю программу на Java, которая читает строку кода XSL-FO, заполняет пустые поля данными приложения и добавляет ее в StringReader, чтобы в конечном итоге быть установленным как InputSource для веб-диспетчер.Append StringReader для нескольких записей

У меня уже есть код для поиска и заполнения пустого шаблона, и теперь мне нужно циклически прокручивать шаблон X раз, чтобы создать X экземпляров одного и того же документа, объединив их как один документ.

Psuedocode:

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, однако, не имеет функцию Append, и, вероятно, не имел в виду, чтобы иметь один либо. Итак, как я могу создать InputSource, который будет удовлетворять потребности в полной и точной ссылке на мой XML-код, который может быть прочитан объектом InputSource?

+0

Вы можете сделать все прилагаемое с 'StringBuilder' и * then * создать «StringReader» из этого? – arshajii

+0

Возможно, но мне кажется, что мне не удалось импортировать StringBuilder в свой код. Это «Импорт java.lang.StringBuilder;»? Кажется, это не работает, поэтому, возможно, у нас нет поддержки. – Zibbobz

+0

Вам не нужно импортировать 'StringBuilder' (или что-нибудь из' java.lang', если на то пошло). – arshajii

ответ

1

Вы могли бы попытаться сделать все прилагаемое до рук:

StringBuilder sb = new StringBuilder(); 

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

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

Используйте StringBuffer, если вы используете версию Java ниже 5.

Смежные вопросы