解析大型XML文件并获取重复的属性

时间:2017-01-11 17:53:30

标签: java xml parsing

我有一个很大的XML文件。它的结构如下:

...
<LexicalEntry id="tajaAhul_$axoS_1">
  <Lemma partOfSpeech="n" writtenForm="تجاهُل شخْص"/>
  <Sense id="tajaAhul_$axoS_1_&lt;homaAl_$axoS_n1AR" synset="&lt;homaAl_$axoS_n1AR"/>
  <WordForm formType="root" writtenForm="جهل"/>
</LexicalEntry>
...

该文件已自动创建,因此可能包含重复的writtenForm。我想用JAVA解析它以检查是否确实存在重复writtenForm,如果是,我想要获取它们。使用JAVA,我读到的关于解析XML文件越多,我就越感到困惑!我发现如果文件很大,我应该使用SAX Parser,但我不熟悉他的所有功能和方法,我也发现使用SAX Parser,我应该创建所有的工作handler class

1 个答案:

答案 0 :(得分:2)

由于您提到您的XML很大,因此解析的最佳选择是您已经发现的SAX解析器。它并不像你想象的那么可怕。它读取您的XML内容并调用您的“处理程序”来处理它在XML中“看到”的内容。您的处理程序类将是“捕获”并构造XML内容的类。因为它读取“通过”您的XML,它不会消耗内存来存储XML的内容。 SAX解析有很多例子,但这可能是一个启动器example。祝你好运!