Java getElementsByTagName返回的元素比实际存在的元素多2倍

Java getElementsByTagName返回的元素比实际存在的元素多2倍,java,xml-parsing,getelementsbyname,Java,Xml Parsing,Getelementsbyname,我使用Java1.7解析XML文档。当我运行函数document.getElementByTagName(“产品”)时,我得到了6000个数字,但是如果我用记事本++打开它,我只能看到3000个条目 我遇到了在所有元素中循环使用错误条目数的问题。我解决了这个问题。 问题在于XML文件。父节点与其中一个子节点具有相同的名称。 比如说 > <products> > <product> > <name&

我使用Java1.7解析XML文档。当我运行函数
document.getElementByTagName(“产品”)
时,我得到了6000个数字,但是如果我用记事本++打开它,我只能看到3000个条目

我遇到了在所有元素中循环使用错误条目数的问题。

我解决了这个问题。 问题在于XML文件。父节点与其中一个子节点具有相同的名称。 比如说

> <products>
>          <product>
>                  <name>Blbalbal</name>
>                  <size>14</size>
>                  <cost>2000 $</cost>
>                  <link>
>                        <product>www.somthing.com</product>
>                  </link>
>          </product>
>          <product>
>                  <name>Product2</name>
>                  <size>123</size>
>                  <cost>2 $</cost>
>                  <link>
>                        <product>www.somthing2.com</product>
>                  </link>
>          </product>
> </products>
>
>          
>布尔巴尔
>                  14
>                  2000 $
>                  
>www.somthing.com
>                  
>          
>          
>产品2
>                  123
>                  2 $
>                  
>www.somthing2.com
>                  
>          
> 

这就是为什么,每个条目计数两次

给出一个示例xml和如何解析它的示例代码。为什么在返回的节点列表上循环出现问题?将您的文件简化为一个产品元素,看看会发生什么。这是一个通用的策略:当有疑问时,简化。将文件简化为单个产品有很大帮助。