자바 새 XML 생 성 및 읽 기, 쓰기

xml 는 가장 기본 적 인 데이터 저장 방식 으로 사용 할 수 있 습 니 다.독이 있 지만
  • 아래 코드 는 xml 이 존재 하지 않 으 면 하 나 를 만 드 는 것 입 니 다.있 으 면 user 요소 추가
  •         user        ,    
            UUID randomUUID = UUID.randomUUID();//uid
            user.setUid(randomUUID.toString());
     //   xml     WEB-INF/user.xml。。。  WEB-INF       
            String contextPath = getServletContext().getContextPath();
            String realPath = getServletContext().getRealPath("WEB-INF/user.xml");
            File xmlFile = new File(realPath);
           
            if (!xmlFile.exists()) {
                 Element root = DocumentHelper.createElement("users");  
                 Document document = DocumentHelper.createDocument(root); 
               //      ,     xml      
                 OutputFormat format = OutputFormat.createPrettyPrint();  
                FileOutputStream file = new FileOutputStream(xmlFile);  
                XMLWriter xml = new XMLWriter(file,format);  
                  xml.write(document);
                xml.close(); 
            }
    //  xml,    ,    ,      ,   user  。
    //        ,          ,
            SAXReader reader = new SAXReader();
            try {
                Document d = (Document) reader.read(xmlFile);
                Element root = (Element) d.selectSingleNode("users");
                Element userElement = root.addElement("user");
                
                Element aUsername = userElement.addAttribute("username", user.getUsername());
                Element aPassword = userElement.addAttribute("password", user.getPassword());
                Element aGender = userElement.addAttribute("gender", user.getGender());
                Element aAge = userElement.addAttribute("age", user.getAge());
                Element aEmail = userElement.addAttribute("email", user.getEmail());
                Element aPic = userElement.addAttribute("pic", user.getPic());
                Element aUid = userElement.addAttribute("uid", user.getUid());
                //      xml         
                OutputFormat format = OutputFormat.createPrettyPrint();  
    
                FileOutputStream file = new FileOutputStream(xmlFile);  
                XMLWriter xml = new XMLWriter(file,format);  
                  xml.write(d);
                xml.close(); 
        
            } catch (DocumentException e) {
                e.printStackTrace();
            }   
    
  • 아래 코드 는 XML 에서 모든 것 을 읽 습 니 다
  •                 ArrayList list = new ArrayList<>();       
                   String contextPath = getServletContext().getContextPath();
                    String realPath = getServletContext().getRealPath("WEB-INF/user.xml");
                    File xmlFile = new File(realPath);
                    SAXReader reader = new SAXReader();
                    try {
                        Document d = (Document) reader.read(xmlFile);
    
                        Element rootElement = d.getRootElement();
                        List elements = rootElement.elements();
                        System.out.println(elements.size());
                        
                        //System.out.println(selectNodes.size());
                        for (Object object : elements) {
                            User user = new User();
                            System.out.println("haha");
                            Element ele = (Element) object;
                            List attributes = ele.attributes();
                            //        
                            Attribute usernameAttribute = (Attribute) attributes.get(0);
                            Attribute passwordAttribute = (Attribute) attributes.get(1);
                            Attribute genderAttribute = (Attribute) attributes.get(2);
                            Attribute ageAttribute = (Attribute) attributes.get(3);
                            Attribute emailAttribute = (Attribute) attributes.get(4);
                            Attribute picAttribute = (Attribute) attributes.get(5);
                            Attribute uidAttribute = (Attribute) attributes.get(6);
                            
                            user.setUsername(usernameAttribute.getText());
                            user.setPassword(passwordAttribute.getText());
                            user.setGender(genderAttribute.getText());
                            user.setAge(ageAttribute.getText());
                            user.setEmail(emailAttribute.getText());
                            user.setPic(picAttribute.getText());
                            user.setUid(uidAttribute.getText());
                            
                            list.add(user);
                        }
                        
                        HttpSession session = request.getSession();
                        session.setAttribute("userList", list);
                        System.out.println(list);
                        response.setHeader("Refresh", "0;url='../pages/users.jsp'");
                
                    } catch (DocumentException e) {
                        e.printStackTrace();
                    }   
            }
    

    좋은 웹페이지 즐겨찾기