加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

解析xml实例,包含复杂xml的循环解析

发布时间:2020-12-15 22:44:50 所属栏目:百科 来源:网络整理
导读:Document doc; try { doc = DocumentHelper.parseText(xml); Element root = doc.getRootElement(); Element Action_Ele = root.element("Action"); Element Data_Ele = Action_Ele.element("Data"); Element Task_Ele = Data_Ele.element("Task"); Element T
Document doc; try { doc = DocumentHelper.parseText(xml); Element root = doc.getRootElement(); Element Action_Ele = root.element("Action"); Element Data_Ele = Action_Ele.element("Data"); Element Task_Ele = Data_Ele.element("Task"); Element Targets_Ele = Task_Ele.element("Targets"); List<Element> Target_Ele_List = Targets_Ele.elements("Target"); if(Target_Ele_List.size()>0){ for(int i=0; i<Target_Ele_List.size();i++){ Element Target_Ele = Target_Ele_List.get(i); String ip = Target_Ele.element("IpRanges").getTextTrim(); String user = Target_Ele.element("User").getTextTrim(); String TargetType = Target_Ele.element("TargetType").getTextTrim(); String type = null; if(TargetType.equals("BUSSINESS")){ if(user.contains("root")){ type = "unix"; }else if(user.contains("administrator")){ type = "win"; }else{ type = "db"; } SsoInterface ssoIntf = new SsoInterfaceImpl(); String pwd = ssoIntf.gettAccPassWord(ip,type,user); if(pwd == null){ return getDeviceReturnXml(ResultCode.RESULT_TARGET_NOT_IN_4A,ip,user); }else{ Target_Ele.element("Password").setText(pwd); if(Target_Ele.element("Jumphosts").hasContent()){ Element Jumphosts_Ele =Target_Ele.element("Jumphosts"); if(Jumphosts_Ele.element("Jumphost").hasContent()){ Element Jumphost_Ele = Jumphosts_Ele.element("Jumphost"); String jump_IP = Jumphost_Ele.element("Ip").getTextTrim(); String jump_user = Jumphost_Ele.element("User").getTextTrim(); String jump_Type = null; if(jump_user.contains("root")){ jump_Type = "unix"; }else if(jump_user.contains("administrator")){ jump_Type = "win"; } String Jump_pwd = ssoIntf.gettAccPassWord(jump_IP,jump_Type,jump_user); ssoIntf.modifyPassWd(jump_IP,jump_user); if(Jump_pwd == null){ return getDeviceReturnXml(ResultCode.RESULT_TARGET_NOT_IN_4A,jump_IP,jump_user); }else{ Jumphost_Ele.element("Password").setText(Jump_pwd); } } } //解析模板 Templates if(Target_Ele.element("Templates").hasContent()){ Element Templates_Ele =Target_Ele.element("Templates"); if(Templates_Ele.element("Template").hasContent()){ for(Iterator i_Tep = Templates_Ele.elementIterator();i_Tep.hasNext();){ Element Template_Ele = (Element) i_Tep.next(); System.out.println(Template_Ele.element("Uuid").getTextTrim()); } } } return doc.asXML(); } } } } } catch (DocumentException e) { e.printStackTrace(); } return xml;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读