`
tangwenchao86
  • 浏览: 375499 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

将普通的键值对转换成xml形式的键值对

阅读更多
      今天在做FOA域名转出的时候,有一个注册代码和注册公司的对应关系。就是说通过poll端口你可以查到注册代码,然后通过这个对应关系找到对应公司。
      于是想把普通文本中的键值对,转换成xml文件。

a.txt文件中的内容(源文件中没有‘$’,为了好判断,将空格转换成‘$’):

1$Reserved$
2$Network$Solutions,$LLC$
3$Registry$Installation$
8$Test$Registrar$
9$register.com,$Inc.$
13$Melbourne$IT,$Ltd$
14$France$Telecom$
15$CORE$Internet$Council$of$Registrars$
16$AOL$LLC$
30$NameSecure$L.L.C.$
31$DSTR$Acquisition$PA$I,$LLC$dba$DomainBank.com$
48$eNom,$Inc.$
49$GMO$Internet,$Inc.$d/b/a$Onamae.com$
52$Abacus$America,$Inc.$
53$A$Technology$Company,$Inc.$
54$Signature$Domains,$LLC$


b.txt文件中的内容:
<property name="1" value="Reserved" />
<property name="2" value="Network Solutions, LLC" />
<property name="3" value="Registry Installation" />
<property name="8" value="Test Registrar" />
<property name="9" value="register.com, Inc." />
<property name="13" value="Melbourne IT, Ltd" />
<property name="14" value="France Telecom" />
<property name="15" value="CORE Internet Council of Registrars" />
<property name="16" value="AOL LLC" />
<property name="30" value="NameSecure L.L.C." />
<property name="31" value="DSTR Acquisition PA I, LLC dba DomainBank.com" />
<property name="48" value="eNom, Inc." />
<property name="49" value="GMO Internet, Inc. d/b/a Onamae.com" />
<property name="52" value="Abacus America, Inc." />
<property name="53" value="A Technology Company, Inc." />
<property name="54" value="Signature Domains, LLC" />


String line = null;
		
		 InputStreamReader b = new InputStreamReader(new FileInputStream(
				    new File("d:/a.txt")), "gbk");
		
		BufferedReader br = new BufferedReader(b);
		FileWriter fw = new FileWriter("d:\\b.txt");
	
		while((line = br.readLine()) != null) {
			
			String arr[] = line.split("\\$");
			String temp = "";
			if(arr.length >= 2) {
				for(int i = 1;i < arr.length;i++) {
					if(temp.equals("")) {
						temp = temp + arr[i];
					}
					else {
						temp = temp + " " + arr[i];
					}	
				}
			}
			
			System.out.println("temp:" + temp);
			
			String sb = "<property name=\"" + arr[0] +"\" value=\"" +temp  + "\" />";
			
			fw.write(sb);
			fw.write("\n");
			
		}
		
		br.close();
		
		fw.flush();
		
		fw.close();




注意:1变量的范围:全局变量还是局部变量,我就将temp 和 sb设成全局变量了,导致栈溢出了。
2.流的构造函数,老长时间不用都快忘了。
3.转义符的使用。‘\\$’,'\"'.

分享到:
评论

相关推荐

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    作者站在普通网页设计人员的角度,用平实生动的语言,向您讲述XML的方方面面,帮助你拨开XML的神秘面纱,快速步入XML的新领域。 • 第一章:XML快速入门 • 一. 什么是XML? • 二. XML是新概念吗? • 三. 使用...

    mapreduce综合应用案例 - 招聘数据清洗.pdf

    MapReduce在招聘数据清洗中的应用案例...将提取的信息转换为键值对形式,其中键为职位ID,值为职位的详细信息。 输出:键值对,键是职位ID,值是职位的详细信息。 2. Reduce阶段 输入:职位ID和对应的多个详细信

    C#基础类库

    添加新的Key ,Value键值对 4.根据Key删除项 复制代码 17.日历 CNDate 1.传回公历y年m月的总天数 2.根据日期值获得周一的日期 3.获取农历 复制代码 18.上传下载 DownLoadHelper 输出硬盘文件,提供下载 支持大...

    json相关jar包.zip

    从上面的两种格式可以看出对象格式和数组对象格式唯一的不同则是在对象格式的基础上加上了[],再来看具体的结构,可以看出都是以键值对的形式出现的,中间以英文状态下的逗号(,)分隔。 在前端和后端进行数据...

    大学生大数据技术原理与应用章节测验期末考试答案.docx

    14. MapReduce是Hadoop框架中的一个组件,用于并行处理大规模数据的计算,MapReduce程序可以将输入的元素转换成〈key, value〉形式的键值对,MapReduce框架采用了Master/Slave架构,包括一个Master和若干个Slave。...

    C#基类库(苏飞版)

    添加新的Key ,Value键值对 4.根据Key删除项 复制代码 17.日历 CNDate 1.传回公历y年m月的总天数 2.根据日期值获得周一的日期 3.获取农历 复制代码 18.上传下载 DownLoadHelper 输出硬盘文件,提供下载 支持大...

    json的结构与遍历方法实例分析.docx

    对象是一种无序的键值对集合,键是字符串,值可以是字符串、数字、布尔值、数组、对象或 null。数组是一种有序的值集合,值可以是字符串、数字、布尔值、数组、对象或 null。 JSON 遍历方法 JSON 遍历方法是指在 ...

    于笑扬java综合知识点总结-必背.pdf

    XML 使用标签来描述数据,而 Json 使用键值对来描述数据。XML 比 Json 更加 verbose,而 Json 比 XML 更加轻便。 request.getSession() reqeust.getSession(false)和 request.getSession(true) 在 Servlet 中,...

    互联网Java架构师面试题.pdf

    Dao 接口的工作原理是通过 MyBatis 的反射机制来实现的,MyBatis 将 Dao 接口的方法转换为数据库操作。 10. MyBatis 是如何进行分页的?分页插件的原理是什么? MyBatis 提供了一个分页插件,用于实现数据库分页。...

    大数据导论(1)——“大数据”相关概念、5V特征、数据类型.pdf

    ⾮结构化数据常以 ⼆进制⼤型对象(BLOB,将⼆进制数据存储为⼀个单⼀个体的集合)形式,整体存储在关系型数据库中中;或存储在⾮关系型数据库 中(NoSQL数据库)。其处理分析过程也更为复杂。 半结构化数据,是指有...

    java运维笔试面试题-mongodb-interview-questions:MongoDB面试题

    可以以更接近应用程序中使用的数据对象的形式存储和检索文档,这意味着在应用程序中使用数据所需的转换更少。 SQL 数据在应用程序和存储之间来回移动时必须经常组装和拆卸。 示例: Amazon SimpleDB、CouchDB、...

    java面试题

    map 成对的数据结构,键值必须具有唯一性 Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式允许其service方法,一个实例可以服务于多个请求,并且其实例一般不会被销毁...

    易语言程序免安装版下载

    易语言5.1 相对于易语言5.0更新说明: ... 修改XML解析支持库,增加写出CDATA数据功能,解决解析XML时错误的丢弃换行和TAB字符的BUG,解决读取节点值时对CDATA数据进行转义处理的BUG。 20. 修改扩展界面支持库...

    JAVA面试题最全集

    如何将数值型字符转换为数字(Integer,Double) 如何将数字转换为字符 如何取小数点前两位,并四舍五入。 4.日期和时间 如何取得年月日,小时分秒 如何取得从1970年到现在的毫秒数 如何获取某个日期是当月的...

    C#编程经验技巧宝典

    数据处理 91 &lt;br&gt;5.1 数字处理技巧 92 &lt;br&gt;0140 如何对计算结果四舍五放入 92 &lt;br&gt;0141 如何将商品金额小写转换成大写 92 &lt;br&gt;0142 如何根据生日自动计算员工年龄 93 &lt;br&gt;0143 如何设置...

    超级有影响力霸气的Java面试题大全文档

    子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。...

    Delphi开发范例宝典目录

    实例108 BMP转换成JPG格式 134 实例109 JPG转换成BMP格式 135 实例110 位图转化为WMF 136 实例111 Ico文件转化为位图 138 实例112 图片批量转换工具 139 实例113 坐标转换 142 3.3 图像预览 143 实例...

    java 面试题 总结

    子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。...

Global site tag (gtag.js) - Google Analytics