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

前端之家收集整理的这篇文章主要介绍了ResultSet转换成XML字符串传递提取组成String[].前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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("\t\t<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;
	}
原文链接:https://www.f2er.com/xml/297764.html

猜你在找的XML相关文章