В настоящее время я пытаюсь прочитать файл XML, внести небольшие изменения (изменить значение некоторых атрибутов) и снова записать его обратно.
Я намеревался использовать синтаксический анализатор StAX (javax.xml.stream.XMLStreamReader
) для чтения в каждом событии, посмотреть, нужно ли его изменить, и затем передать его напрямую в модуль записи StAX (javax.xml.stream.XMLStreamReader
), если нет изменений были необходимы.
К сожалению, это не выглядит так просто - у автора нет способа взять тип события и объект синтаксического анализа, только такие методы, как writeAttribute
и writeStartElement
. Очевидно, я мог бы написать большой оператор switch с регистром для каждого возможного типа элемента, который может встречаться в XML-документе, и просто записать его обратно, но это кажется большой проблемой для чего-то, что кажется простым .
Есть ли что-то, чего мне не хватает, чтобы можно было легко написать XML-документ, очень похожий на тот, который вы читали в StAX?