在AXP中,DOM解析器是1 Document Builder类的一个实例,该实例由 Documen
Bailderfactorv类负责创,步如下
Bailderfactorv类负责创,步如下
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();//实例化一个DocumentBuildFactor对象 DocumentBuilder builder = null; try { builder = factory.newDocumentBuilder();//返回一个DocumentBuilder对象,称为DOM解析器 } catch (ParserConfigurationException e) { e.printStackTrace(); } File f = new File("D:\jsp\db\book3.xml");//要解析的xml文件路径 Document document = null; try { document = builder.parse(f);返回一个实现了Document接口的实例 } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); }
接下去是获取里面的内容
Element root = document.getDocumentElement();// 获取根节点 NodeList childNodes = root.getChildNodes();// 获取根节点下的所有子节点,返回一个NodeList对象 for (int i = 0; i < childNodes.getLength(); i++) { Node mysql = childNodes.item(i); if ("mysql".equals(mysql.getNodeName())) { // 判断该节点名称 NodeList nodeDetail = mysql.getChildNodes();// 获取该节点的所有子节点,返回一个NodeList对象 for (int j = 0; j < nodeDetail.getLength(); j++) {// 遍历该节点list Node detail = nodeDetail.item(j); if (("driver").equals(detail.getNodeName())) mydriver = detail.getTextContent();// 将该节点的text赋值给mydriver(mydriver是自己定义的一个String变量) if (("server").equals(detail.getNodeName())) myservice = detail.getTextContent(); if (("username").equals(detail.getNodeName())) myusername = detail.getTextContent(); if (("password").equals(detail.getNodeName())) mypassword = detail.getTextContent(); } } }
最后附上我的xml文件结构