Применить XSL к методу XML - метод ничего не делает - PullRequest
0 голосов
/ 17 мая 2011

Я пытаюсь сделать универсальный метод, который принимает 2 параметра.Xml в качестве параметра String и путь к Xsl-файлу в качестве строкового параметра.

Метод должен возвращать строку с xsl, примененным к xml, но на самом деле он ничего не делает.

Я предполагаю, что эта строка неверна: Source source = new StreamSource (new ByteArrayInputStream (xml.getBytes ()));

Потому что, когда я пытался сохранить его на диск, он работал нормально - просто не когдавсе это в памяти.

 private static String Convert(String xml, String xslFilename ) {
        try {
            // Create transformer factory
            TransformerFactory factory = TransformerFactory.newInstance();

            // Use the factory to create a template containing the xsl file
            Templates template = factory.newTemplates(new StreamSource(
                new FileInputStream(xslFilename)));

            // Use the template to create a transformer
            Transformer xformer = template.newTransformer();

            // Prepare the input and output files
            Source source = new StreamSource(new ByteArrayInputStream(xml.getBytes()));
            ByteArrayOutputStream output = new ByteArrayOutputStream();

            Result result = new StreamResult(output);
            // Apply the xsl file to the source file and write the result to the output file
            xformer.transform(source, result);

            String formattedResult = output.toString();
            return formattedResult;
        } catch (FileNotFoundException e) {
        } catch (TransformerConfigurationException e) {
            // An error occurred in the XSL file
        } catch (TransformerException e) {
            // An error occurred while applying the XSL file
            // Get location of error in input file
            SourceLocator locator = e.getLocator();
            int col = locator.getColumnNumber();
            int line = locator.getLineNumber();
            String publicId = locator.getPublicId();
            String systemId = locator.getSystemId();
        }
        return "";
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...