http://xhy0422.iteye.com/blog/50235 很全的网址
简单的个人实现:
SAXReader sr = new SAXReader();
Document doc = sr.read(new File(Main.class.getResource("test.xml")
.toURI().getPath()));
doc.getRootElement().accept(new MyVisitor());
MyVisitor代码
import org.dom4j.Attribute;
import org.dom4j.Element;
import org.dom4j.VisitorSupport;
public class MyVisitor extends VisitorSupport{
@Override
public void visit(Attribute node) {
System.out.println(node.getName());
super.visit(node);
}
@Override
public void visit(Element node) {
System.out.println(getFullName(node));
System.out.println("-------" + node.getText());
super.visit(node);
}
/**
* 得到属性的全名
* @param element
* @return
*/
private String getFullName(Element element){
if(element.isRootElement()) {
return element.getName();
} else {
return getParentName(element.getParent())+element.getName();
}
}
/**
* 递归调用,返回父节点全名
* @param parentElement
* @return
*/
private String getParentName(Element parentElement){
String tmp = "";
if(!parentElement.isRootElement()) {
tmp = getParentName(parentElement.getParent());
}
return tmp+parentElement.getName()+".";
}
}
简单的个人实现:
SAXReader sr = new SAXReader();
Document doc = sr.read(new File(Main.class.getResource("test.xml")
.toURI().getPath()));
doc.getRootElement().accept(new MyVisitor());
MyVisitor代码
import org.dom4j.Attribute;
import org.dom4j.Element;
import org.dom4j.VisitorSupport;
public class MyVisitor extends VisitorSupport{
@Override
public void visit(Attribute node) {
System.out.println(node.getName());
super.visit(node);
}
@Override
public void visit(Element node) {
System.out.println(getFullName(node));
System.out.println("-------" + node.getText());
super.visit(node);
}
/**
* 得到属性的全名
* @param element
* @return
*/
private String getFullName(Element element){
if(element.isRootElement()) {
return element.getName();
} else {
return getParentName(element.getParent())+element.getName();
}
}
/**
* 递归调用,返回父节点全名
* @param parentElement
* @return
*/
private String getParentName(Element parentElement){
String tmp = "";
if(!parentElement.isRootElement()) {
tmp = getParentName(parentElement.getParent());
}
return tmp+parentElement.getName()+".";
}
}