Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 解析一个大的XML文件并获取重复的属性_Java_Xml_Parsing - Fatal编程技术网

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_&lt;homaAl_$axoS_n1AR" synset="&lt;homaAl_$axoS_n1AR"/> <WordForm formTy

我有一个很大的
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>
...
。。。
...

该文件是自动创建的,因此可能包含重复的
writenform
。我想用
JAVA
对其进行解析,以检查是否真的存在重复的
writenform
,如果是,我想得到它们。使用
JAVA
,我读到的有关解析
XML
文件的内容越多,我就越感到困惑!我发现如果文件很大,我应该使用
SAX解析器
,但我不熟悉他的所有函数和方法,我还发现使用
SAX解析器
,我应该在某个
处理程序类

中创建所有工作,因为您提到您的XML很大,最好的解析选项是SAX解析器,正如您已经发现的那样。这并不像你想象的那么可怕。它读取XML内容并调用“处理程序”来处理它在XML中“看到”的内容。您的处理程序类将是“捕获”和构造XML内容的类。因为它“通过”您的XML进行读取,所以它不消耗内存来存储XML的内容。有很多关于SAX解析的例子,但这可能是一个开始。祝你好运

既然您提到您的XML很大,那么最好的解析方法就是SAX解析器,正如您已经发现的那样。这并不像你想象的那么可怕。它读取XML内容并调用“处理程序”来处理它在XML中“看到”的内容。您的处理程序类将是“捕获”和构造XML内容的类。因为它“通过”您的XML进行读取,所以它不消耗内存来存储XML的内容。有很多关于SAX解析的例子,但这可能是一个开始。祝你好运