Вы не можете изменить значение с помощью обработчика SAX AFAIK.Обычно я определяю как обработчик саксофона для преобразования из xml в некоторый объект c ++, так и конструктор документов для преобразования из объекта в xml.
Общий подход заключается в следующем: используйте обработчик sax с анализатором xml для получения объекта, измените объект, а затем используйте конструктор документов для сохранения файла xml.Посмотрите на класс DomWriter.Был также пример, который показывает вам, как создать XML-документ с помощью xerces.
Может быть, вы также можете просто найти тег, который хотите связать со значением, и заменить строку, если хотите избежатьвесь процесс преобразования XML (зависит от структуры вашего документа и т. д.).
Редактировать: XML имеет два аспекта: анализ и построение.Когда дело доходит до разбора, у вас есть два варианта: использование sax или dom.Sax-анализ включает в себя написание обработчика.Документ XML сканируется, и обработчик вызывается как элемент в документе XML.
EG "Открывающий тег Foo Foo"
А потом "Закрывающий тег Foo"
Когда вызывается ваш обработчик, вы получаете возможность действовать.Обычно у вас есть какой-то объект в качестве члена вашего обработчика, и вы вызываете сеттеры со значением, полученным из документа xml.После того, как анализ завершен, вы можете, например, вызвать метод получения в обработчике, чтобы получить объект, который теперь имеет заданные значения.Используя sax, вы не можете изменить документ с помощью обработчика sax.
Обработчик DOM работает со всем документом xml в памяти.Я не использовал xerces DOM parser раньше, но я уверен, что для этого должен быть пример.Поскольку DOM хранит весь документ в памяти, вы можете даже изменить документ на лету, не проходя синтаксический анализ и перестройку, как я описал выше.Я бы определенно исследовал примеры синтаксического анализатора DOM перед использованием SAX.