用Iterator去迭代List呀那样比较安全!

解决方案 »

  1.   

    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    // TODO Auto-generated method stub
            List list=new ArrayList();
            Session session=HibernateSessionFactory.getSession();
    Transaction tr=session.beginTransaction();
    tr.commit();
     
    String statement = "from User";
    list = session.createQuery(statement).list();
        
        Element user;
        Element username;
        Element password;
        Iterator iterator=list.iterator();
        DocumentBuilderFactory documentbuilderfactory = DocumentBuilderFactory.newInstance();
        try{        
           DocumentBuilder docBuilder = documentbuilderfactory.newDocumentBuilder();
           Document doc = docBuilder.newDocument();
           Element rootElement = doc.createElement("USER");
           //while(iterator.hasNext()){
          user = doc.createElement("user");
          user.setAttribute("userid",iterator.next().toString());
          System.out.println(iterator.next().toString());
             rootElement.appendChild(user);          username = doc.createElement("username");
             username.appendChild(doc.createTextNode(iterator.next().toString()));
             user.appendChild(username);          password = doc.createElement("password");
             password.appendChild(doc.createTextNode(iterator.next().toString()));
             user.appendChild(password);         
           //}
           doc.appendChild(rootElement);
           //格式化XML 文档
           OutputFormat outformat = new OutputFormat(doc);
           //通过输出流创建XML
           OutputStream os = new FileOutputStream("c:\\cdn\\xml\\DbToXml.xml");
           // 通过XMLSerializer 生成XML 文档
           XMLSerializer xmlserilizer = new XMLSerializer(os,outformat);
           // 对文件进行写操作.
           xmlserilizer.serialize(doc);     }catch(Exception ex){
            ex.printStackTrace();
        }
      
     
     
    return mapping.findForward("success");
    }改了上面了
    能生成XML但结果是:<?xml version="1.0" encoding="UTF-8"?>
    <USER><user userid="com.sh.hibernate.User@14093f"><username>com.sh.hibernate.User@3a3b6b</username><password>com.sh.hibernate.User@112fc47</password></user></USER>