我是一个新手,使用Java和SAX解析器进行XML解析。我有一个非常大的XML文件,由于其大小,建议我使用SAX解析器。我已经完成了部分解析任务,并且它按预期工作。现在,还有一个任务需要处理XML:根据用户请求删除/更新一些节点。
我能够通过它们的名称找到所有标记,更改它们的数据属性等。如果我能够使用SAX做这些事情,那么删除也可能是可能的。
示例XML描述了某些情况下的一些功能。用户输入是“case”的名称(“case1”,“case2”)。
如果用户想删除这些案例中的一个(例如
我能够通过它们的名称找到所有标记,更改它们的数据属性等。如果我能够使用SAX做这些事情,那么删除也可能是可能的。
示例XML描述了某些情况下的一些功能。用户输入是“case”的名称(“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实现?