Java: преобразовать документ в существующий документ: объединить? - PullRequest
1 голос
/ 24 ноября 2010

Я кэшировал XSLT и применил его к нескольким документам в цикле. Каждый результат имеет одинаковый формат.

DocumentResult allResults = new DocumentResult();

for (iter = requests.iterator(); iter.hasNext();) {
  transformer.transform(new DocumentSource(request), allResults);
}

return allResults;

Хотя код не работает, он должен отображать то, что я пытаюсь выполнить: запросы с одинаковым значением ID должны быть объединены или добавлены в противном случае.

Есть ли способ реализовать это без необходимости выполнять слияние вручную?

Ответы [ 2 ]

1 голос
/ 24 ноября 2010

Я предлагаю вам взглянуть на StreamResult (примеры здесь и здесь ).Если вы создадите соответствующий ByteArrayOutputStream в начале, вы сможете добавить из StreamResult).

0 голосов
/ 24 ноября 2010

Я бы реализовал org.xml.sax.ContentHandler, чтобы передать все входящие события SAX в базовый обработчик содержимого для SAXResult и пропустить все ненужные события (startDocument, endDocument и startElement для корневых тегов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...