用递归方法解析XML

package test;


import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;


import javax.swing.RootPaneContainer;


import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;


public class xml {
public static void main(String[] args) throws Exception {
String xml = "TDDK2012330191020015571234562012-12-1812:03:062012-12-18 12:03:06快钱POS 123456";
Map map = new HashMap();
//读取xml转换的字符串
Document document = DocumentHelper.parseText(xml);
Element root=document.getRootElement();//获取根节点  
getNodes(root);//从根节点开始遍历所有节点  
}
public static void getNodes(Element node){  
   System.out.println("--------------------");        
   //当前节点的名称、文本内容和属性  
   System.out.println("当前节点名称:"+node.getName());//当前节点名称  
   System.out.println("当前节点的内容:"+node.getTextTrim());//当前节点名称  
   List listAttr=node.attributes();//当前节点的所有属性的list  
   for(Attribute attr:listAttr){//遍历当前节点的所有属性  
       String name=attr.getName();//属性名称  
       String value=attr.getValue();//属性的值  
       System.out.println("属性名称:"+name+"属性值:"+value);  
   }  
   //递归遍历当前节点所有的子节点  
   List listElement=node.elements();//所有一级子节点的list  
   for(Element e:listElement){//遍历所有一级子节点  
       getNodes(e);//递归  
   }  
}  

}

你可能感兴趣的:(用递归方法解析XML)