Как получить не XML-вывод, используя JDOM XSLTransformer? - PullRequest
1 голос
/ 13 апреля 2010

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

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

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

1 Ответ

5 голосов
/ 13 апреля 2010

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();
...