private void writeChangelogXml()

in src/main/java/org/apache/maven/plugins/changelog/ChangeLogReport.java [525:556]


    private void writeChangelogXml(List<ChangeLogSet> changelogList) throws IOException {
        StringBuilder changelogXml = new StringBuilder();

        changelogXml
                .append("<?xml version=\"1.0\" encoding=\"")
                .append(getOutputEncoding())
                .append("\"?>\n");
        changelogXml.append("<changelog>");

        for (ChangeLogSet changelogSet : changelogList) {
            changelogXml.append("\n  ");

            String changeset = changelogSet.toXML(getOutputEncoding());

            // remove xml header
            if (changeset.startsWith("<?xml")) {
                int idx = changeset.indexOf("?>") + 2;
                changeset = changeset.substring(idx);
            }

            changelogXml.append(changeset);
        }

        changelogXml.append("\n</changelog>");

        outputXML.getParentFile().mkdirs();
        Writer writer = new OutputStreamWriter(
                new BufferedOutputStream(Files.newOutputStream(outputXML.toPath())), getOutputEncoding());
        writer.write(changelogXml.toString());
        writer.flush();
        writer.close();
    }