Чем редактировать XML?

Не знаю, как у вас, но для меня большой проблемой было найти приемлемый XML редактор, чтобы и XML проверял, и бесплатный, не слишком навороченный, но чтобы данные можно было вводить, не беспокоясь об ескейпе симолов &, <> и т.п..

Для простых задач, например, для таких, когда настройки к какой либо программе надо указать с помощью XML конфиг файла, подойдет редактор XML Notepad, который сделан ненавистной многими фирмой Micro$oft.

Лично я, пришел к выводу, что все редакторы XML либо слишком навороченные и платные, либо ненавороченные и не такие удобные, как XML Notepad. Не могу понять, почему такой популярный формат имеет такую низкую поддержку на уровне редактора… Наверное, может быть потому, что XML часто генерируется программами и ими же парсится, а редактировать ручками не так восстребованно. Но иногда очень надо, а пользоваться обычным текстовым редактором — глупо (постоянно следить за ескейпингом символов)

Из плюсов нашего героя можно перечислить: простота, и понятность.

Минусы: в нем можно настроить либо \r\n, либо \n символы концовки строки, миксовать он не умеет. Можно отключить Indent (имеет имя Auto Format в настройках, не мог сразу догадаться, что это именно Indent). Как то странно, IMHO. Еще один неприятный момент, но он лежит в нормальных рамках Unicode & UTF-8 — он вставляет всегда символ BOM вначале документа. Символ этот нужен для Unicode, для UTF-8 он бесполезен. Скорее всего, это издержки того, что внутри Windows такой документ храниться в Unicode, а для него BOM часто необходим (он указывает процессору Unicode в каком порядке идут старшие и младшие байты 16 разрядной кодировки). Но, многие программы спокойно работают с BOM, так как он аннулируется UTF-8.

Но плюсы перевешивают минусы. Если привыкнуть к этому редактору, то редактировать небольшие XML с ним очень просто.

Краткое пояснение: редактор представляет собой, в общем плане, два окна — левое и правое. В левом — идут названия элементов, аттрибутов и псевдо-нод (например, #text — текстовый child, #comment — комментарий и т.п..). В правом — значения этих элементов, напротив тех, что слева. Если вам надо отредактировать готовый XML, например, какие либо настройки, и не менять структуру XML, то редактирование сводится к изменению только значений в правом окне (перемещаемся курсом вверх-вниз, нажимая Enter — редактируем, Shift-Enter — вставка новой строки в значении). Это очень удобно! А чтобы в правом окне были все значения, как на ладоне, достаточно сделать из меню View -> Expand All, или Alt+V -> Enter или Alt + V -> E. После этого можно приступать к их редактированию.

Для удобства идеалогии редактирования, все строится на понятиях node и sibling (брат/сестра в переводе). Например, даже аттрибут елемента — это тоже node, у него есть parent — елемент, чьим аттрибутом он является. Из этого вытекает простое правило — для всех них существует две команды, через меню — вставка Before и After. Before — это вставить новый sibling перед текущим, выражаясь в понятиях DOM,  After — вставить после. Есть также третья команда — Child — вставить в текущую node.