package readxml; import java.io.File; import java.util.ArrayList; import java.util.List; import readxml.CoSpaceModel; import org.dom4j.*; import org.dom4j.io.SAXReader; public class readxml { static List idlist = new ArrayList(); static int total = 0; static List modelist = new ArrayList(); public static void main(String args[]){ String path = "E:\\java-study\\Java\\source\\coSpace.xml"; try { testGetRoot(path); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } for (int i = 0; i < idlist.size(); i++) { System.out.println(idlist.get(i)); CoSpaceModel new111 = new CoSpaceModel(); new111 = modelist.get(i); System.out.println("获得的值"+new111.getName()); } System.out.println("total为"+total+"-------------"); } /** * 获取文件的document对象,然后获取对应的根节点 * */ public static void testGetRoot(String path) throws Exception{ SAXReader sax=new SAXReader(); File xmlFile=new File(path); Document document=sax.read(xmlFile); Element root=document.getRootElement(); getNodes(root); } /** * 从指定节点开始,递归遍历所有子节点 * */ public static void getNodes(Element node){ //System.out.println("--------------------"); List listAttr=node.attributes();//当前节点的所有属性的list for(Attribute attr:listAttr){ String name1=attr.getName(); String value1=attr.getValue(); //System.out.println("属性名称:"+name+"属性值:"+value); if(name1.equals("id")){ idlist.add(value1); } } //递归遍历当前节点所有的子节点 List listElement=node.elements();//所有一级子节点的list if(node.getParent() == null){ total = listElement.size(); } for(Element e:listElement){//遍历所有一级子节点 getNodes(e);//递归 List listE1 = e.elements(); CoSpaceModel cosMode = new CoSpaceModel(); for(Element ee:listE1){ String name = ee.getName(); String value = ee.getTextTrim(); if(name.equals("acano_coSpace_id")){ cosMode.setAcano_coSpace_id(value); } if(name.equals("name")){ cosMode.setName(value); } if(name.equals("access_uri")){ cosMode.setAccess_uri(value); } if(name.equals("access_secondary_uri")){ cosMode.setAccess_secondary_uri(value); } if(name.equals("access_call_id")){ cosMode.setAccess_call_id(value); } if(name.equals("passcode")){ cosMode.setPasscode(value); } if(name.equals("default_layout")){ cosMode.setDefault_layout(value); } if(name.equals("call_profile_id")){ cosMode.setCall_profile_id(Integer.parseInt(value)); } if(name.equals("autoGenerated")){ if(value.equals("true")) cosMode.setAutoGenerated(true); else cosMode.setAutoGenerated(false); } if(name.equals("tenant")){ cosMode.setTenant(value); } if(name.equals("secret")){ cosMode.setSecret(value); } if(name.equals("nonmember_access")){ if(value.equals("true")) cosMode.setNonmember_access(true); else cosMode.setNonmember_access(false); } if(name.equals("owner_jid")){ cosMode.setOwner_jid(value); } if(name.equals("site_id")){ cosMode.setSite_id(Integer.parseInt(value)); } if(name.equals("input_user_id")){ cosMode.setInput_user_id(Integer.parseInt(value)); } if(name.equals("modify_user_id")){ cosMode.setModify_user_id(Integer.parseInt(value)); } if(name.equals("input_time")){ cosMode.setInput_time(value); } if(name.equals("modify_time")){ cosMode.setModify_time(value); } } //System.out.println(cosMode.getName()); if(e.getName().equals("coSpace")){ modelist.add(cosMode); } } } }