У меня есть простой код для преобразования XML, но он очень трудоемкий (мне приходится повторять это много раз).У кого-нибудь есть рекомендации, как оптимизировать этот код?Спасибо.
РЕДАКТИРОВАТЬ: Это новая версия кода. Я, к сожалению, не могу повторно использовать 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();
}