У меня есть простой код для преобразования XML, но он занимает очень много времени (мне приходится повторять его много раз). У кого-нибудь есть рекомендации, как оптимизировать этот код? Спасибо.
EDIT: это новая версия кода. К сожалению, я не могу повторно использовать Transformer, так как XSLTRule в большинстве случаев отличается. Сейчас я повторно использую TransformerFactory. Я не читаю файлы до этого, поэтому не могу использовать StreamSource. Наибольшее количество времени тратится на инициализацию Transformer.
private static TransformerFactory tFactory = TransformerFactory.newInstance();
public static String transform(String XML, String XSLTRule) throws TransformerException {
Source xmlInput = new StreamSource(new StringReader(XML));
Source xslInput = new StreamSource(new StringReader(XSLTRule));
Transformer transformer = tFactory.newTransformer(xslInput);
StringWriter resultWriter = new StringWriter();
Result result = new StreamResult(resultWriter);
transformer.transform(xmlInput, result);
return resultWriter.toString();
}
Transformer. Буду думать как сделать кеш. Спасибо. - person Ivan   schedule 02.05.2011