JavaとSAXパーサーを使用したXML解析は初めてです。私は非常に大きなXMLファイルを持っており、そのサイズのためにSAXパーサーを使用するようにアドバイスされています。タスクの一部の解析が完了し、期待どおりに機能します。現在、XMLジョブには1つのタスクが残っています。それは、ユーザーの要求に応じていくつかのノードを削除/更新することです。
名前ですべてのタグを検索したり、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>
ユーザーがタグだけでなく、これらのケースの1つ(たとえばcase1
)を削除したい場合は、タグ全体を削除する必要があります。削除する場合、XMLは次のようになります。case1
rule
case1
<ruleset>
<rule id="2">
<condition>
<case2>somefunctionality</case2>
<allow>false</allow>
</condition>
</rule>
</ruleset>
私の質問は、これはSAXを使用して実行できますか?現時点では、DOMやその他のパーサーを使用することはできません。他のオプションだけがさらに悪いです:文字列検索。SaxParserを使用してどのように行うことができますか?