/**
*解析XML文件
*/
public void parserXML(){
//通过DocumentBuilder对象的parser方法加载books.xml文件到当前项目下
try {
//
Document document = getDocumentBuilder().parse("books2.xml");
//获取book名节点的所有List列表
NodeList bookList = document.getElementsByTagName("book");
//获取book节点的数量,并输出
System.out.println("book节点的数量:" + bookList.getLength());
//循环遍历每一个book节点的属性以及子节点
for(int i = 0 ; i
//提示输出正在遍历的第几本书
System.out.println("**********开始遍历第" + (i + 1) + "本书**********");
//通过 item(i)方法 获取一个book节点,nodeList的索引值从0开始
Node book = bookList.item(i);
//获取book节点的所有属性集合
NamedNodeMap attrs = book.getAttributes();
//在不知道book节点有几个属性时使用attrs.getLength()获得长度
for (int j = 0 ; j
Node attr = attrs.item(j);
System.out.println("booK的属性名:" + attr.getNodeName() + "_____属性值:" + attr.getNodeValue());
}
//获取book节点子节点的List集合
NodeList childNodes = book.getChildNodes();
//输出book子节点集合的长度
System.out.println("childNodes:" + childNodes.getLength());
//遍历book子节点
for(int k = 0 ; k
//获取book子节点
Node child = childNodes.item(k);
//获取book子节点的属性集合
NamedNodeMap atts = child.getAttributes();
//遍历该book子节点的属性集合
for (int j = 0 ; j
Node attr = atts.item(j);
//
System.out.println("子节点的属性名:" + attr.getNodeName() + "_____属性值:" + attr.getNodeValue());
}
if(child.getNodeType() == Node.ELEMENT_NODE){
System.out.println(child.getNodeName() + ": " + child.getTextContent());
}
}
//提示遍历结束
System.out.println("**********结束遍历第" + (i + 1) + "本书**********");
}
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}