Никогда, никогда не пишите свой собственный анализатор XML.
Да, Java (т.е. JSP) имеет встроенные библиотеки для загрузки и сохранения файлов XML.
Написание кода для создания формы HTML, заполнение его информацией об элементе XML, получение формы POST от клиента и запись ее в обновленный файл XML - все довольно просто, но это будет много работы, особенно если форма сложная.
Проблема с блокировкой: веб-соединения не сохраняют состояние. Бедное решение: переименуйте файл XML (скажем, от 1.xml до 1.xml.checkedout), пока он редактируется. Переименуйте его обратно после сохранения. Передайте имя файла с формой обратно на сервер, чтобы ваш серверный код знал, в какой файл записать и переименовать обратно. Недостатком является то, что пользователи, покинувшие веб-страницу, оставят переименованную бойню.
На стороне сервера PHP, JSP, ASP.NET, Perl и Python вполне подойдут для этого приложения. Все зависит от того, в чем вы чувствуете себя наиболее комфортно.
Помните, поскольку вы не храните XML в базе данных, веб-серверу потребуется запись доступ к буквальным XML-файлам.