Привет. Передо мной стоит довольно интересная задача.
Изначально есть пользовательский XML-файл. XML заведомо валидный, но может быть отформатирован как угодно.
Например:
<parentTag>
<childTag1></childTag1>
<childTag2></childTag2>
</parentTag>
или
<parentTag><childTag1></childTag1><childTag2></childTag2></parentTag>
или даже
<parentTag><childTag1>
</childTag1> <childTag2>
</childTag2>
</parentTag>
Задача распарсить этот XML в иерархическую структуру, поредактировать эту структуру (например, удалить тег, добавить тег между двумя другими, добавить дочерний тэг), а потом сохранить эту структуру обратно в XML с учётом пользовательского форматирования. Т.е. чтобы сохранились все отступы, теги, которые были при открытии, по возможности остались на своих местах.
На данный момент могу парсить XML, редактировать и сохранять в заранее заданном мной (захардкоженном) формате. Но, к сожалению, то, что есть, не позволяет сохранять пользовательское форматирование XML-ки.
Подскажите, пожалуйста, умеет ли какая-нибудь библиотека парсить XML и потом сохранять обратно с учётом пользовательского форматирования?
Парсить можно как строку, так и файл, мне не столь важно.