怎么把jdbc从数据库里取出来的数据,以xml的格式显示到前台,不是生成xml,是以xml的格式显示到前台,给点思路或者代码,参考谢谢

解决方案 »

  1.   

    个人觉得你可以先生成一个XML文件,然后直接在页面中加载这个文件。XML文件是可以直接在浏览器窗口中显示的吧~~
      

  2.   

    我同意三楼的建议,写成xml文件,页面只去读取文件,而不用再访问数据库,在对应数据发生变化的时候重写xml文件,保证文件的数据更新,既提高了用户的访问速度,又减少了数据库的访问次数
      

  3.   


    public static void BuildUserXml(User user, JspWriter out)
      {
        ArrayList<Users> list = null;
        String sql = "";
        try
        {
          sql = "select * from users order by id";
          list=getUserList(sql);
          if (list != null) {
            User user = null;
            out.println("<XML id=\"unitList\">");
            out.println("<?xml version=\"1.0\" encoding=\"GBK\"?>");
            out.println("<root>");
            for (int i = 0; i < list.size(); ++i) {
              user = (user)list.get(i);
              out.println("<user>");
              out.println("<id>" + user.getId() + "</id>");
              out.println("<name>" + user.getBmmc() + "</name>");
              out.println("</user>");
            }
            out.println("</root>");
            out.println("</XML>");
          }
        } catch (Exception ex) {
          ex.printStackTrace();
        }
      }这是类的一个static方法,在前面页面直接引入这类,直接调用这个方法
      

  4.   

    如果是异步获取数据的话,就在后台组装成xml的格式,然后获得输出流(response.getWriter())将组装后的数据写到页面中;
    如果不是异步获取数据,就写成字符串,或者你尝试将内容放到集合中,然后在页面上遍历集合,不过,我并没有这样用过,你可以尝试一下。例如:
    List<String> list = new ArrayList<String>();
    list.add("<tag1>");
    list.add(data1);
    list.add("</tag1>");
    ...
      

  5.   


    public static void BuildUserXml(User user, JspWriter out)
      {
        ArrayList<Users> list = null;
        String sql = "";
        try
        {
          sql = "select * from users order by id";
          list=getUserList(sql);
          if (list != null) {
            User user = null;
            out.println("<XML id=\"unitList\">");
            out.println("<?xml version=\"1.0\" encoding=\"GBK\"?>");
            out.println("<root>");
            for (int i = 0; i < list.size(); ++i) {
              user = (user)list.get(i);
              out.println("<user>");
              out.println("<id>" + user.getId() + "</id>");
              out.println("<name>" + user.getBmmc() + "</name>");
              out.println("</user>");
            }
            out.println("</root>");
            out.println("</XML>");
          }
        } catch (Exception ex) {
          ex.printStackTrace();
        }
      }这是类的一个static方法,在前面页面直接引入这类,直接调用这个方法
      

  6.   

    查询出对象,然后用xstream把对象转xml,再response出去。
      

  7.   


    public List getUserList(String sql) {
    List <User>list = new ArrayList<User>();
    try {
    conn = this.getConn();
    pstmt = conn.prepareStatement(sql);
    rs = pstmt.executeQuery();
    while (rs.next()) {
    User user= new user();
    user.setID(rs.getInt("id"));
    user.setName(rs.getString("name"));
    list.add(user);
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    this.closeAll(conn, pstmt, rs);//关闭连接,根据你的方法定 }
    return list;
    }
      

  8.   


    public List getUserList(String sql) {
    List <User>list = new ArrayList<User>();
    try {
    conn = this.getConn();
    pstmt = conn.prepareStatement(sql);
    rs = pstmt.executeQuery();
    while (rs.next()) {
    User user= new user();
    user.setID(rs.getInt("id"));
    user.setName(rs.getString("name"));
    list.add(user);
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    this.closeAll(conn, pstmt, rs);//关闭连接,根据你的方法定 }
    return list;
    }
      

  9.   


    public List getUserList(String sql) {
    List <User>list = new ArrayList<User>();
    try {
    conn = this.getConn();
    pstmt = conn.prepareStatement(sql);
    rs = pstmt.executeQuery();
    while (rs.next()) {
    User user= new user();
    user.setID(rs.getInt("id"));
    user.setName(rs.getString("name"));
    list.add(user);
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    this.closeAll(conn, pstmt, rs);//关闭连接,根据你的方法定 }
    return list;
    }