这里有一份XML文件,接下来我们用不同的解析方式来解析这份文件
愤怒的小鸟
Animation
2016
叶问3
Action
English
1.DOM解析
//1.创建一个DocumentBuilderFactory对象
DocumentBuilderFactory dBuilderFactory=DocumentBuilderFactory.newInstance();
try {
//2.创建一个DocumentBuilder对象
DocumentBuilder dBuilder=dBuilderFactory.newDocumentBuilder();
//3.获取Document对象
Document document=dBuilder.parse("Movie.xml");
System.out.println("解析开始:--------------------------");
//获取Movie元素结点集合
NodeList movies=document.getElementsByTagName("Movie");
System.out.println("共有"+movies.getLength()+"部电影");
//遍历Movie元素结点集合
for(int i=0;i
System.out.println("=====================");
System.out.println("正在解析"+(i+1)+"部电影!");
Node movie=movies.item(i);
//获取元素结点的属性集合
NamedNodeMap attrs=movie.getAttributes();
for(int j=0;j
Node attr=attrs.item(j);
System.out.print("属性名为:"+attr.getNodeName()+" ");
System.out.println("属性值为:"+attr.getNodeValue());
}
//获取movie元素子节点集合
NodeList childNodes=movie.getChildNodes();
for(int k=0;k
Node child=childNodes.item(k);
if (child.getNodeType()==Document.ELEMENT_NODE) {
System.out.println("节点名:"+child.getNodeName()+" ");
//System.out.println("节点值:"+child.getNodeValue());
System.out.println("节点值:"+child.getFirstChild().getNodeValue());
}
}
System.out.println("第"+(i+1)+"部电影解析结束");
}
System.out.println("解析结束--------------------------------");
} catch (Exceptio