}
private static void parseElement(Element element){
String tagName = element.getNodeName();
NodeList children = element.getChildNodes();
System.out.print("<" + tagName);
//element 元素所构成的属性的NamedNodeMap对象,对其进行判断
NamedNodeMap map = element.getAttributes();
if(null != map){
for(int i = 0 ; i < map.getLength(); i++){
//获取元素的每一个属性
Attr attr = (Attr)map.item(i);
String attrName = attr.getName();
String attrValue = attr.getValue();
System.out.print(" " + attrName + "=\"" + attrValue + "\"" );
}
}
System.out.print(">");
for(int i = 0; i < children.getLength(); i++ ){
Node node = children.item(i);
Short nodeType = node.getNodeType();
//是元素类性,进行递归
if(nodeType == Node.ELEMENT_NODE){
parseElement((Element)node);
}
//是文本类性,打印出来
else if(nodeType ==Node.TEXT_NODE){
System.out.print(node.getNodeva lue());
}
//是注释,进行打印
else if(nodeType ==Node.COMMENT_NODE){
Comment comment = (Comment)node;
String data = comment.getData();
System.out.print("");
}
}
System.out.println("" + tagName + ">");
}
}
运行结果:
