Usuń wiele węzłów z pliku XML za pomocą sax i java

Jestem nowy w analizowaniu XML przy użyciu parsera Java i SAX. Mam naprawdę duży plik XML i ze względu na jego rozmiar zalecono mi użycie parsera SAX. Skończyłem analizować część moich zadań i działa zgodnie z oczekiwaniami. Pozostało jedno zadanie z zadaniem XML: usuwanie / aktualizowanie niektórych węzłów na żądanie użytkownika.

Jestem w stanie znaleźć wszystkie tagi po ich nazwach, zmienić ichdata atrybuty itp. Jeśli jestem w stanie to zrobić za pomocą SAX, usuwanie również może być możliwe.

Przykładowy XML opisuje niektóre funkcje w niektórych przypadkach. Dane wejściowe użytkownika są nazwami „przypadków” (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>

Jeśli użytkownik chce usunąć jeden z tych przypadków (na przykładcase1) nie tylkocase1 tag, kompletnyrule tag musi zostać usunięty. Jeślicase1 ma zostać usunięty, XML stanie się:

<ruleset>
    <rule id="2">
        <condition>
            <case2>somefunctionality</case2>
            <allow>false</allow>
        </condition>
    </rule>
</ruleset>

Moje pytanie brzmi, czy można to zrobić za pomocą SAX? W tym momencie nie mogę używać DOM ani żadnego innego parsera. Jeszcze inna opcja jest jeszcze gorsza: wyszukiwanie ciągów. Jak można to zrobić za pomocą SaxParser?

questionAnswers(3)

yourAnswerToTheQuestion