dom4j解析多层次xml

static String ProjectName=""; static String ECType="";         static String ECRNumber="";
static String ECNNumber="";   static String ECNCreatorName=""; static String ECNCreatorCode="";
static String ChangeBeforePartNumber="";                       static String ChangeBeforePartName="";
static String ChangeAfterPartNumber="";      static String ChangeAfterPartName="";


String xml=""

+""
+ ""
  + "001"
  + "量产前设变"
  + "重庆XXX "
  + "XXX  "
 + "余小燕 "
 + "40545"
       + ""
           + ""
               + ""
                   + ""
                        + ""
                             + "123  "
                             + "重庆XXX  "
                        + "
"
                        + ""
                              + "1231-AA "
                              + "重庆XXX  "
                        + "
"
                   + "
"
             + "
"
         + "
"
  + "
"
  + "
"

  +"" ;   



public static void parserXml(String xml) {
try {
//SAXReader reader = new SAXReader();
// 读取文件 转换成Document
//Document document = reader.read(new File(resource.toURI()));
Document document = DocumentHelper.parseText(xml);
//reader.read("");
//获取根节点元素对象  
       Element root = document.getRootElement();  
       //遍历  
       listNodes(root);  
} catch (Exception e) {
e.printStackTrace();


}




private static void listNodes(Element node) {
  //System.out.println("当前节点的名称:" + node.getName());  
       //首先获取当前节点的所有属性节点  
       List list = node.attributes();  
       //遍历属性节点  
//        for(Attribute attribute : list){  
//            System.out.println("属性"+attribute.getName() +":" + attribute.getValue());  
//        }  
       //如果当前节点内容不为空,则输出  
       if(!(node.getTextTrim().equals(""))){  
          //  System.out.println( node.getName() + ":" + node.getText()); 
            if( node.getName()=="ProjectName"){
            ProjectName=node.getText();
            System.out.println( ProjectName + ":" + node.getText());
            }else if(node.getName()=="ECType"){
            ECType=node.getText();
            System.out.println( ECType + ":" + node.getText());
            }else if(node.getName()=="ECRNumber"){
            ECRNumber=node.getText();
            System.out.println( ECRNumber + ":" + node.getText());
            }else if(node.getName()=="ECNNumber"){
            ECNNumber=node.getText();
            System.out.println( ECNNumber + ":" + node.getText());
            }else if(node.getName()=="ECNCreatorName"){
            ECNCreatorName=node.getText();
            System.out.println( ECNCreatorName + ":" + node.getText());
            }else if(node.getName()=="ECNCreatorCode"){
            ECNCreatorCode=node.getText();
            System.out.println( ECNCreatorCode + ":" + node.getText());
            }else if(node.getName()=="ChangeBeforePartNumber"){
            ChangeBeforePartNumber=node.getText();
            System.out.println( ChangeBeforePartNumber + ":" + node.getText());
            }else if(node.getName()=="ChangeBeforePartName"){
            ChangeBeforePartName=node.getText();
            System.out.println( ChangeBeforePartName + ":" + node.getText());
            }else if(node.getName()=="ChangeAfterPartNumber"){
            ChangeAfterPartNumber=node.getText();
            System.out.println( ChangeAfterPartNumber + ":" + node.getText());
            }else if(node.getName()=="ChangeAfterPartName"){
            ChangeAfterPartName=node.getText();
            System.out.println( ChangeAfterPartNumber + ":" + node.getText());
            }
            //
       }  
       //同时迭代当前节点下面的所有子节点  
       //使用递归  
       Iterator iterator = node.elementIterator();  
       while(iterator.hasNext()){  
           Element e = iterator.next();  
           listNodes(e); 

   }


     }


你可能感兴趣的:(dom4j解析多层次xml)