xml 解析 dom4j

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()+".";
}


}

你可能感兴趣的:(dom4j)