Как удалить пустую строку, созданную в файле XML после удаления определенного атрибута - PullRequest
0 голосов
/ 26 марта 2012

У меня есть XML-документ, например

<document>
    <attribute id = 1 />
    <attribute id = 2 />
    <attribute id = 3 />
    <attribute id = 4 />
    <attribute id = 5 />
    <attribute id = 6 />
</document>

Я использую DOM-анализатор для анализа XML-файла в моем коде C ++ .Я удаляю определенный атрибут, например, id = 3.

Используя API из библиотеки Xerces, я удаляю атрибут, но получаю пустую строку в том месте, где я удалил атрибут.

Удаление производится следующим образом.Я удалю обязательный атрибут из данного файла и скопирую оставшееся содержимое во временный файл, но создаю пустую строку.

<document>
    <attribute id = 1 />
    <attribute id = 2 />

    <attribute id = 4 />
    <attribute id = 5 />
    <attribute id = 6 />
</document>

Мне нужен вывод следующим образом, пустая строка не должна присутствовать в файле после удаления

<document>
    <attribute id = 1 />
    <attribute id = 2 />
    <attribute id = 4 />
    <attribute id = 5 />
    <attribute id = 6 />
</document>

1 Ответ

1 голос
/ 03 июня 2012

Используйте этот метод для достижения желаемого ...

private static void formatWSDL(Document doc, String path) {
    try {
        OutputFormat format = new OutputFormat(doc);
        format.setIndenting(true);
        XMLSerializer serializer = new XMLSerializer(new FileOutputStream(new File(path)), format);
        serializer.serialize(doc.getDocumentElement());
    } catch (IOException e) {
        e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
    }
}
...