在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文件结构