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文件本身的问题?
<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文件本身的问题?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货