XML 内容如下:
 <BrowseNodes>
<BrowseNode>
<BrowseNodeId>15783481</BrowseNodeId> 
<Name>スポーツ(その他)</Name> 
<Ancestors>
<BrowseNode>
<BrowseNodeId>15783431</BrowseNodeId> 
<Name>スポーツ</Name> 
<Ancestors>
<BrowseNode>
<BrowseNodeId>15783231</BrowseNodeId> 
<Name>Xbox 360</Name> 
<Ancestors>
<BrowseNode>
<BrowseNodeId>637872</BrowseNodeId> 
<Name>機種別</Name> 
<Ancestors>
<BrowseNode>
<BrowseNodeId>637394</BrowseNodeId> 
<Name>ゲーム</Name> 
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</BrowseNodes>现在我要获取所有的BrowseNodeId的值,获取的方法如下: LinkedList browseNodeIdList = null;这个是用来存放获取的值的容器.
  private void getBrowseNodeId(Element browseNodeElement){
       //寻找子对象   
   //Ancestors
      List browseNodesList = browseNodeElement.getChildren(); 
      for(Iterator browseNodesiter = browseNodesList.iterator(); browseNodesiter.hasNext(); ){
      Element nodeElement =(Element) browseNodesiter.next();
      if("Ancestors".equalsIgnoreCase(nodeElement.getName())){
      List ancestorsList = nodeElement.getChildren(); 
      for(Iterator ancestorsiter = browseNodesList.iterator(); browseNodesiter.hasNext(); ){
      Element ancestorElement =(Element) browseNodesiter.next();
      if("BrowseNode".equalsIgnoreCase(ancestorElement.getName())){
      getBrowseNodeId(ancestorElement);
      }
      }
      }
      //获取BrowseNodeId
      else if("BrowseNodeId".equalsIgnoreCase(nodeElement.getName())){
      if(!browseNodeIdList.contains(nodeElement.getValue())){
      browseNodeIdList.add(nodeElement.getValue());
      }
    
      }
      }
    
      
     }调用的地方:
if("BrowseNodes".equalsIgnoreCase(itemElement.getName().trim())){
                      List browseNodesList = itemElement.getChildren();
                      for(Iterator browseNodesiter = browseNodesList.iterator(); browseNodesiter.hasNext(); ){
                      Element browseNodeElement = (Element) browseNodesiter.next();
                      if("BrowseNode".equalsIgnoreCase(browseNodeElement.getName())){
                      getBrowseNodeId(browseNodeElement);
                      }
                      }
                     
                     } 现在的情况是,有的时候可以获取所有,有的时候不可以.不可以的时候. getChildren(); 获取结果为空值得.完成的XML文件
http://ecs.amazonaws.jp/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=1WP931RVXYGTB2BM8JG2&Operation=ItemLookup&ItemId=B000HDU1D6&ResponseGroup=ItemAttributes,Images,BrowseNodes点这个链接可以看到.
晕,大部分的时候程序运行正常.
遇到这一个就不能取到了.是不是xml文件本身的问题?