Java DOM方式解析XML
Posted 星小梦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章
Java web——xml文件读取的解析方式(DOM和SAX)