`
tw5566
  • 浏览: 458770 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

不同的结果集转换成XML

    博客分类:
  • java
阅读更多
 /**
  * 方法将RowSet数据结果集进行数据转换成XML文件
  * StringBuffer 进行字符缓存
  * ResultSetMetaData 获得RowSet的列名 
  * xml文件格式如下:
  *     
  * @param RowSet
  * @return string
  */
 public static String convertResultSetToXML(ResultSet rs){ 
  StringBuffer sb = new StringBuffer();
  try{   
   ResultSetMetaData   rsmd   =   rs.getMetaData();  
   if   (rsmd.getColumnCount()>=0){

    ///sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
    ///sb.append("<response>");
    
    while(rs.next()){ 
     sb.append("<row>\n");
     for(int j=1;j<=rsmd.getColumnCount();j++){    
      sb.append("<" +rsmd.getColumnName(j).toLowerCase()+ ">")
        .append( rs.getObject(j)==null?"":rs.getObject(j) )
        .append("</" +rsmd.getColumnName(j).toLowerCase()+ ">\n"); 
     }      
     sb.append("</row>\n");
    } 
    ///sb.append("</response>"); 
   }  
   
     }catch(Exception   e){
      e.printStackTrace();
     } 
     return sb.toString(); 
 }
 
 /**
  * 方法将Map数据结果集进行数据转换成XML文件
  * StringBuffer 进行字符缓存
  * Map 获得Map的键名和值 
  * 
  * xml文件格式
  * <?xml version=\"1.0\" encoding=\"UTF-8\"?>
  *  <key>
  *    value
  *  </key>  
  * @param map
  * @return String
  */
 
 public static String convertMapToXML(Map map){ 
  StringBuffer sb = new StringBuffer();
  Iterator it = map.entrySet().iterator();
  String key ;
  String value ;
  while(it.hasNext()){
   Map.Entry met = (Map.Entry)it.next();
   key = (String) met.getKey();
   value = (String) met.getValue();
   
   sb.append("<" +key+ ">")
     .append( value )
     .append("</" +key+ ">");
  }
     return sb.toString(); 
 }

	
	/**
	 * 
	 * 这个方法用来处理将 OMElement 类型 转换成 RowSet 类型 
	 *
	 *  输入的xml数据格式如下:
	 *<rows>  
	 * 	<row>
	 * 		<id>123</id>
	 * 		<name>Zeven</name> 
	 * 	</row>
	 * 	<row>
	 * 		<id>456</id>
	 * 		<name>Mike</name>
	 * 	</row>
	 *  ...
	 * </rows>
	 *   
	 * @param om
	 * @return
	 * @throws Exception 
	 */
	public static RowSet convertXML2RowSet(OMElement om) throws Exception{
		  

		//第一层
		//从<root></root>的下一层
		Iterator it = om.getChildren();
		OMElement ome;

		//第二层
		//从<row></row>的下一层
		Iterator it2= null;
		OMElement ome2;
			
		//多行的记录
		List list = new ArrayList();
		
		//一行的字段		
		Map map = null;
		String key = null;//名字
		String value = null;//值
		
			try{
				while (it.hasNext()) {//第一层行数 
					 
					 
					ome = (OMElement)it.next(); 
					log.info(ome.toString() );
					it2 = ome.getChildren();
					map = new Hashtable();	//每行的列数		
					while( it2.hasNext() ){
						ome2 = (OMElement)it2.next();
						key = ome2.getLocalName();
						value = ome2.getText();
						map.put(key, value);
					}
					list.add(map);
				} 
				CachedRowSet cs = new CachedRowSet();
				cs.populate(list);
				return  cs; 
			
				 
		}catch(Exception e){
			e.printStackTrace();
			throw e;
		}
	}
	
	/**
	 * 这个方法用来处理将 ResultSet 类型 转换成 JSONArray 类型 
	 * [user:123,usercode:1234],
	 * [user:123,usercode:1234]
	 * @return
	 */
	public static JSONArray convertResutlSetToJSONArray(ResultSet rs ) throws Exception{ 
		
		ResultSetMetaData   rsmd   =   rs.getMetaData(); 
		if(rsmd.getColumnCount()>=0){ 
			JSONObject row   = null; 
			JSONArray table  = new JSONArray();
			while(rs.next()){  
				row   = new JSONObject();
				for(int j=1 ,i=rsmd.getColumnCount();j<=i;j++){    
					row.put( rsmd.getColumnLabel(j).toLowerCase() ,rs.getObject(j)==null?"":rs.getObject(j) ); 
				}      
				table.put( row ); 
			} 
			return table;
		}else{ 
			throw new ApplicationException("没有数据");
		}
	}

分享到:
评论
1 楼 iamaj2eeprogrammer 2011-05-13  
来学习了。

相关推荐

    利用XSLT把ADO记录集转换成XML

    本文主要探讨如何通过XSLT(可扩展样式表语言转换)将ADO(ActiveX Data Objects)记录集转换为XML格式,并介绍三种不同的实现方法。 #### 使用XML DOM构建XML节点树 第一种方法是遍历整个记录集,采用XML DOM...

    json自动转换成xml的json包

    本"json自动转换成xml的json包"提供了一种便捷的方式,将JSON对象或数据自动转化为XML文档。这对于那些需要在JSON和XML之间进行数据互换的项目来说尤其有用,例如在企业级移动应用的开发中,可能需要将服务器返回的...

    kettle转换xml(XML Input Stream (StAX))

    本文将深入探讨如何使用Kettle的XML Input Stream (StAX) 进行XML数据的转换。 首先,XML(Extensible Markup Language)是一种用于存储和传输结构化数据的标准格式,广泛应用于数据交换、配置文件等领域。StAX...

    TXT格式转xml格式(voc)

    - 编写转换脚本:可以使用编程语言如Python、Java或专门的XML处理库来实现转换,将TXT内容转换成XML格式。 - 输出XML文件:执行转换脚本,生成符合预设结构的XML文件。 4. VOC与XML的关联:在语音识别领域,VOC...

    数据库转化为xml文件

    根据映射规则,将查询结果转换成相应的XML结构。 - **处理复杂数据类型**:如果数据库包含复杂数据类型,如数组或自定义对象,需要将其拆分成多个XML元素或使用XML的特殊结构(如CDATA或属性集合)来表示。 - **...

    Objects365/COCO数据集转换为xml格式,并转为yolo的txt格式,xml数据统计更改+源代码+文档说明

    1、资源内容:Objects365/COCO数据集转换为xml格式,并转为yolo的txt格式,xml数据统计更改 2、代码特点:内含运行结果,不会运行可私信,参数化编程、参数可方便更改、代码编程思路清晰、注释明细,都经过测试运行...

    UA-DETRAC的xml转换

    "voc_data_migrate.py"可能是一个更完整的解决方案,不仅包含转换逻辑,还可能有数据预处理步骤,例如验证输入文件、处理多个XML文件、批量转换或保存结果到特定目录等。这个脚本可能使用了Python的文件操作功能,如...

    水下目标检测数据集(xml格式可转TXT)

    在进行YOLO算法训练时,首先需要对数据集进行预处理,这包括XML到TXT的转换、图像的归一化和划分训练集与验证集。接着,根据YOLO模型的配置文件调整网络架构,设置锚框(anchor boxes)以适应不同大小和比例的目标。...

    sql 数据转化为XML 格式的数据

    在Python、Java等编程语言中,也可以通过连接数据库,执行SQL查询,然后将结果集转换为XML。 在描述中提到的“SqlXmlTool”可能是某个特定的工具或者程序,用于简化SQL到XML的转换。这样的工具通常会提供图形用户...

    CCTSDB voc格式xml 附转换代码

    标题 "CCTSDB voc格式xml 附转换代码" 指的是一个关于将CCTSDB(中国交通标志数据集)的原始标注文件转换为PASCAL VOC XML格式的过程。PASCAL VOC是一种广泛用于计算机视觉任务,如图像分类、目标检测和语义分割的...

    opencv人脸识别XML文件合集_最新

    你提到的"opencv人脸识别XML文件合集_最新"是一个包含17个XML文件的集合,每个文件代表一个不同的分类器,可能适用于不同条件或具有不同的检测精度。 OpenCV的人脸检测通常基于AdaBoost算法,这是一种集成学习方法...

    access数据文件向xml转化文件

    4. **遍历结果集并生成XML**:在查询结果集上进行迭代,使用XmlWriter的方法如WriteStartElement、WriteString等,构建XML文档结构。对于每个字段,创建对应的XML元素;对于每条记录,创建一个XML节点。 5. **关闭...

    从.mesh转换到.xml的过程及工具

    ### 从.mesh转换到.xml的过程及工具 在三维图形领域,不同的文件格式有着各自的用途与优势。例如,.mesh文件通常用于存储三维模型的数据结构,而.xml文件则因其良好的可读性和灵活性,在数据交换和存储方面更为常见...

    XML与数据库相互转换

    可以使用SQL查询返回结果集,然后使用`DataSet`或`DataTable`对象来接收这些数据,最后通过`WriteXml`方法将数据写入XML文件。 3. **VS2003中的工具和API**: Visual Studio 2003提供了集成的XML编辑器,支持XML ...

    delphi 如何使用XML保存查询结果

    TXMLDataModule是Delphi提供的一个组件,它能够自动将数据集转换为XML。如果你选择自定义方法,可以遍历数据集的记录,并手动创建XML节点。 ```delphi // 假设DataSet是已填充的查询结果 procedure ...

    头盔图片和xml文件的数据集

    此外,还有专门针对YOLO格式的Python库,如`pyyolo`或`yad2k`,可以帮助我们从XML文件中提取边界框信息,并将其转换为YOLO模型所需的格式。 为了训练模型,我们需要进行以下步骤: 1. 数据预处理:将图像和XML文件...

    Castor的使用,如何将java object转换为xml

    3. **JDBC支持**:Castor可以读取数据库的结果集并将其转换为XML,反之亦然。 4. **性能优化**:Castor提供了缓存机制以提高多次转换的性能。 总的来说,Castor是一个强大的工具,使得Java开发者在处理XML数据时...

    Java实现XML导入不同数据库,从数据库导出数据到XML

    在数据库数据导出到XML的过程中,我们需要反向操作:查询数据库,将结果集转换为XML格式。这可以通过遍历结果集,逐条构建XML元素来完成。JDOM可以很方便地帮助我们创建XML结构,而`Transformer`则负责将这个结构...

    yolo目标检测标签文件txt与xml文件相互转化脚本

    YOLO(You Only Look Once)是一种流行的目标检测算法。...如果你需要在TXT和XML之间进行转换,以下是一个简单的脚本示例,它使用Python的库,OpenCV等。这个脚本仅作为一个起点,可能需要根据具体情况进行修改。

Global site tag (gtag.js) - Google Analytics