首页 > 代码库 > DOM 方式解析 XML
DOM 方式解析 XML
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); try { DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse("tree.xml"); //根据标签名获取节点集合 NodeList nodeList = doc.getElementsByTagName("item"); for (int i = 0; i < nodeList.getLength(); i++) { //获取单个节点 Node node = nodeList.item(i); //获取节点属性集合 NamedNodeMap attrs = node.getAttributes(); //遍历属性 for (int j = 0; j < attrs.getLength(); j++) { Node attr = attrs.item(j); System.out.println("属性名:"+attr.getNodeName()); System.out.println("属性值:"+attr.getNodeValue()); }// //节点转化为Element对象获取属性值// Element ele = (Element)node;// System.out.println("属性值:"+ele.getAttribute("id")); //获取子节点集合 NodeList childList = node.getChildNodes(); for (int k = 0; k < childList.getLength(); k++) { Node child = childList.item(k); //判断子节点类型为Element类型非Text文本类型 if (child.getNodeType() == Node.ELEMENT_NODE) { System.out.println("节点间文本:"+child.getTextContent()); //或 System.out.println("节点间文本:"+child.getFirstChild().getNodeValue()); //注:child.getNodeValue()不能获取节点间文本,因节点间文本为节点的子级,是其子节点的NodeValue } } } } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
DOM 方式解析 XML
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。