Удалить несколько узлов из XML-файла, используя саксофон и Java
Я новичок в разборе XML с использованием синтаксического анализатора Java и SAX. У меня действительно большой XML-файл, и из-за его размера мне посоветовали использовать SAX-парсер. Я закончил разбор части своих задач, и все работает как положено. Теперь осталось одно задание с заданием XML: удаление / обновление некоторых узлов по запросу пользователя.
Я могу найти все теги по их именам, изменить ихdata
атрибуты и т. д. Если я могу сделать это с SAX, удаление также может быть возможно.
Образец XML описывает некоторые функции в некоторых случаях. Пользовательские вводы - это имена "дел" (case1
, case2
).
<ruleset>
<rule id="1">
<condition>
<case1>somefunctionality</case1>
<allow>true</allow>
</condition>
</rule>
<rule id="2">
<condition>
<case2>somefunctionality</case2>
<allow>false</allow>
</condition>
</rule>
</ruleset>
Если пользователь хочет удалить один из этих случаев (например,case1
) не простоcase1
тег, полныйrule
тег должен быть удален. Еслиcase1
должен быть удален, XML станет:
<ruleset>
<rule id="2">
<condition>
<case2>somefunctionality</case2>
<allow>false</allow>
</condition>
</rule>
</ruleset>
Мой вопрос, это можно сделать с помощью SAX? Я не могу использовать DOM или любой другой парсер на данный момент. Только другой вариант еще хуже: поиск строки. Как это можно сделать с помощью SaxParser?