首页 > 代码库 > Java DOM方式解析XML

Java DOM方式解析XML

 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         }

 

Java DOM方式解析XML