java dom
java代码:
public Document getDoc()throws Exception{
DocumentBuilderFactory fc=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=fc.newDocumentBuilder();
Document doc=builder.parse(new File("D:/workspace/shop/WebRoot/category.xml"));
return doc;
}
public List<String> findcontent(String name)throws Exception{
Document doc=this.getDoc();
NodeList nodes=doc.getElementsByTagName(name);
int len=nodes.getLength();
List<String> list=new ArrayList<String>();
for(int i=0;i<len;i++){
Node node=nodes.item(i);
String content=node.getTextContent();
list.add(content);
}
return list;
}xml文件:
<店铺分类>
<服装>
<品牌>利郎</品牌>
<品牌>七匹狼</品牌>
<品牌>李宁</品牌>
</服装>
<鞋>
<品牌>阿迪达斯</品牌>
<品牌>李宁</品牌>
<品牌>匹克</品牌>
<品牌>耐克</品牌>
</鞋>
<手机>
<品牌>诺基亚</品牌>
<品牌>索爱</品牌>
<品牌>摩托罗拉</品牌>
<品牌>索尼</品牌>
</手机>
<电脑>
<品牌>戴尔</品牌>
<品牌>联想</品牌>
<品牌>神州</品牌>
<品牌>IBM</品牌>
</电脑>
</店铺分类>
想取出其中一个分类,比如“电脑”,虽然可以取出来,但是list长度却是1,也就是说他是“戴尔”“联想”“神州”“IBM”放在一起了,应该怎么弄开。
java代码:
public Document getDoc()throws Exception{
DocumentBuilderFactory fc=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=fc.newDocumentBuilder();
Document doc=builder.parse(new File("D:/workspace/shop/WebRoot/category.xml"));
return doc;
}
public List<String> findcontent(String name)throws Exception{
Document doc=this.getDoc();
NodeList nodes=doc.getElementsByTagName(name);
int len=nodes.getLength();
List<String> list=new ArrayList<String>();
for(int i=0;i<len;i++){
Node node=nodes.item(i);
String content=node.getTextContent();
list.add(content);
}
return list;
}xml文件:
<店铺分类>
<服装>
<品牌>利郎</品牌>
<品牌>七匹狼</品牌>
<品牌>李宁</品牌>
</服装>
<鞋>
<品牌>阿迪达斯</品牌>
<品牌>李宁</品牌>
<品牌>匹克</品牌>
<品牌>耐克</品牌>
</鞋>
<手机>
<品牌>诺基亚</品牌>
<品牌>索爱</品牌>
<品牌>摩托罗拉</品牌>
<品牌>索尼</品牌>
</手机>
<电脑>
<品牌>戴尔</品牌>
<品牌>联想</品牌>
<品牌>神州</品牌>
<品牌>IBM</品牌>
</电脑>
</店铺分类>
想取出其中一个分类,比如“电脑”,虽然可以取出来,但是list长度却是1,也就是说他是“戴尔”“联想”“神州”“IBM”放在一起了,应该怎么弄开。
Document doc=this.getDoc();
NodeList nodes=doc.getElementsByTagName(name);
int len=nodes.getLength();
List<String> list=new ArrayList<String>();
for(int i=0;i<len;i++){
Node node=nodes.item(i);
NodeList childs=node.getChildNodes();
for(int j=0;j<childs.getLength();j++){
Node child=childs.item(j);
if(child.getNodeType()==Node.ELEMENT_NODE){
String content=child.getTextContent();
list.add(content);