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

ResultSet转换成XML字符串传递提取组成String[].

发布时间:2020-12-16 06:38:22 所属栏目:百科 来源:网络整理
导读:http://jslyghj.iteye.com/blog/467784 http://blog.sina.com.cn/s/blog_700dec940100spox.html private String generateXML(final ResultSet rs) throws SQLException { final StringBuffer buffer = new StringBuffer(1024 * 4); if (rs == null) return "

http://jslyghj.iteye.com/blog/467784

http://blog.sina.com.cn/s/blog_700dec940100spox.html

private String generateXML(final ResultSet rs) throws SQLException {
		   final StringBuffer buffer = new StringBuffer(1024 * 4);
		   if (rs == null)
		    return "";
		   buffer.append("<?xml version="1.0" encoding="GB2312"?>n"); // XML的头部信息
		   buffer.append("<ResultSet>n");
		   ResultSetMetaData rsmd = rs.getMetaData(); // 得到结果集的定义结构
		   int colCount = rsmd.getColumnCount(); // 得到列的总数
		   // 对放回的全部数据逐一处理
		   for (int id = 1; rs.next(); id++) {
		    // 格式为row id,col name,col context
		    buffer.append("t<row id="").append(id).append("">n");
		    for (int i = 1; i <= colCount; i++) {
		     String type = rsmd.getColumnTypeName(i); // 获取字段类型
		     buffer.append("tt<col name="" + rsmd.getColumnName(i)
		       + "">");
		     buffer.append(getValue(rs,i,type));
		     buffer.append("</col>n");
		    }
		    buffer.append("t</row>n");
		   }
		   buffer.append("</ResultSet>");
		   rs.close();
		   return buffer.toString();
		}

private String[] xmlElements(String xmlDoc) throws JDOMException,IOException {
        //创建一个新的字符串
        StringReader read = new StringReader(xmlDoc);
        //创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
        InputSource source = new InputSource(read);
        //创建一个新的SAXBuilder
        SAXBuilder sb = new SAXBuilder();
   
            //通过输入源构造一个Document
            Document doc = sb.build(source);
            //取的根元素
            Element root = doc.getRootElement();
      
            //得到根元素所有子元素的集合
            List jiedian = root.getChildren();
            //获得XML中的命名空间(XML中未定义可不写)
            Namespace ns = root.getNamespace();
            Element et = null;
            String[] result = new String[jiedian.size()];
            for(int i=0;i<jiedian.size();i++){
                et = (Element) jiedian.get(i);//循环依次得到子元素
                
               result[i]=et.getChild("col",ns).getText();//这个为什么要搞col 还是有点不 明白。。。
               
            }
          et = (Element) jiedian.get(0);
            List zjiedian = et.getChildren();
            for(int j=0;j<zjiedian.size();j++){
                Element xet = (Element) zjiedian.get(j);
      
      
    }
			return result;
	}

(编辑:李大同)

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

    推荐文章
      热点阅读