1 //创建一个DocumentBuilderFactory工厂实例
2 DocumentBuilderFactory DBF=DocumentBuilderFactory.newInstance();
3 //通过工厂实例对象创建一个DocumentBuilder实例
4 DocumentBuilder DB=DBF.newDocumentBuilder();
5 //解析URL指定的XML文件,并保存到D变量
6 Document D=DB.parse("URL路径");
7 //通过标签名获取节点标签
8 NodeList NL=D.getElementsByTagName("标签");
9 //循环遍历NL集合
10 for(int i=0;i<NL.getLength();i++){
11 //通过索引值获取指定的Node节点
12 Node N=NL.item(i);
13 /*获取指定属性(已知属性名和数量为1)
14 * 节点强制类型转换
15 * Element E=(Element)E;
16 *通过属性名获取属性值
17 * E.getAttribute("node_name");
18 * */
19 //获取节点的所有属性
20 NamedNodeMap NNM=N.getAttributes();
21 //遍历属性Map集合
22 for(int j=0;j<NNM.getLength();j++){
23 //通过索引获取指定属性
24 Node attributeNode=NNM.item(j);
25 //获取属性节点Name名称
26 attributeNode.getNodeName();
27 //获取属性节点Value属性值
28 attributeNode.getNodeValue();
29 }
30
31 //获取N节点的所有子节点
32 NodeList NL1=N.getChildNodes();
33 //遍历NL1集合
34 for(int k=0;k<NL1.getLength();k++){
35 //筛选出非节点的
36 if(NL1.item(k).getNodeType()==Node.ELEMENT_NODE){
37 //获取节点名
38 NL1.item(k).getNodeName();
39 //获取当前节点的子节点的值,XML文件一切皆为节点
40 //也可通过NL1.item(k).getTextContent()方法获取文本节点
41 //getTextContent区别是这个会把子节点的元素的Text值合并起来输出
42 NL1.item(k).getFirstChild().getNodeValue();
43 }
44 }
45 }