Как получить вывод, отличный от XML, с помощью JDOM XSLTransformer?

У меня есть файл XML, который я хотел бы преобразовать в файл, отличный от XML (текстовый), на основе файла XLST. Код в обоих кажется правильным, и он работает при тестировании вручную, но у меня проблема с программным обеспечением.

Я использую класс XSLTransformer JDOM, чтобы применить XSLT к XML, и он возвращает его в формате документа JDOM. Проблема здесь в том, что я не могу получить доступ к чему-либо в документе, поскольку это неправильный XML-файл, и я получаю сообщение об ошибке «java.lang.IllegalStateException: корневой элемент не установлен».

Есть ли лучший способ в Java получить файл, отличный от XML, в результате XSLT?


person Neil McF    schedule 13.04.2010    source источник


Ответы (1)


JDOM XSLTTransformer — это удобная оболочка вокруг javax.xml.transform.Transformer для ввода и вывода JDOM.

Ввод JDOM легко преобразуется в текстовый вывод.

Transformer transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(stylesheet));
JDOMSource in = new JDOMSource(doc);
StringWriter writer = new StringWriter();
StreamResult out = new StreamResult(writer);
transformer.transform(in, out);
return writer.toString();
person Lachlan Roche    schedule 13.04.2010