我有一个很大的XML
文件。它的结构如下:
...
<LexicalEntry id="tajaAhul_$axoS_1">
<Lemma partOfSpeech="n" writtenForm="تجاهُل شخْص"/>
<Sense id="tajaAhul_$axoS_1_<homaAl_$axoS_n1AR" synset="<homaAl_$axoS_n1AR"/>
<WordForm formType="root" writtenForm="جهل"/>
</LexicalEntry>
...
该文件已自动创建,因此可能包含重复的writtenForm
。我想用JAVA
解析它以检查是否确实存在重复writtenForm
,如果是,我想要获取它们。使用JAVA
,我读到的关于解析XML
文件越多,我就越感到困惑!我发现如果文件很大,我应该使用SAX Parser
,但我不熟悉他的所有功能和方法,我也发现使用SAX Parser
,我应该创建所有的工作handler class
。
答案 0 :(得分:2)
由于您提到您的XML很大,因此解析的最佳选择是您已经发现的SAX解析器。它并不像你想象的那么可怕。它读取您的XML内容并调用您的“处理程序”来处理它在XML中“看到”的内容。您的处理程序类将是“捕获”并构造XML内容的类。因为它读取“通过”您的XML,它不会消耗内存来存储XML的内容。 SAX解析有很多例子,但这可能是一个启动器example。祝你好运!