Java 解析一个大的XML文件并获取重复的属性
我有一个很大的Java 解析一个大的XML文件并获取重复的属性,java,xml,parsing,Java,Xml,Parsing,我有一个很大的XML文件。其结构如下所示: ... <LexicalEntry id="tajaAhul_$axoS_1"> <Lemma partOfSpeech="n" writtenForm="تجاهُل شخْص"/> <Sense id="tajaAhul_$axoS_1_<homaAl_$axoS_n1AR" synset="<homaAl_$axoS_n1AR"/> <WordForm formTy
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>
...
。。。
...
该文件是自动创建的,因此可能包含重复的
writenform
。我想用JAVA
对其进行解析,以检查是否真的存在重复的writenform
,如果是,我想得到它们。使用JAVA
,我读到的有关解析XML
文件的内容越多,我就越感到困惑!我发现如果文件很大,我应该使用SAX解析器
,但我不熟悉他的所有函数和方法,我还发现使用SAX解析器
,我应该在某个处理程序类
中创建所有工作,因为您提到您的XML很大,最好的解析选项是SAX解析器,正如您已经发现的那样。这并不像你想象的那么可怕。它读取XML内容并调用“处理程序”来处理它在XML中“看到”的内容。您的处理程序类将是“捕获”和构造XML内容的类。因为它“通过”您的XML进行读取,所以它不消耗内存来存储XML的内容。有很多关于SAX解析的例子,但这可能是一个开始。祝你好运 既然您提到您的XML很大,那么最好的解析方法就是SAX解析器,正如您已经发现的那样。这并不像你想象的那么可怕。它读取XML内容并调用“处理程序”来处理它在XML中“看到”的内容。您的处理程序类将是“捕获”和构造XML内容的类。因为它“通过”您的XML进行读取,所以它不消耗内存来存储XML的内容。有很多关于SAX解析的例子,但这可能是一个开始。祝你好运