ResultSet转换成XML字符串传递提取组成String[].
发布时间:2020-12-16 09:28:25 所属栏目:百科 来源:网络整理
导读: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; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |