【发布时间】:2014-12-18 19:29:22
【问题描述】:
我需要将一个csv文件转换成xml格式如下:
输入的csv是
scott,male,26,doctor
ryan,male,20,student
laura,female,30,lawyer
生成的 xml 应该是
<root>
<criteria name="scott" sex = "male" age = "26" profession = "doctor"/>
<criteria name="ryan" sex = "male" age = "20" profession = "student"/>
<criteria name="laura" sex = "female" age = "30" profession = "lawyer"/>
<root/>
如果缺少任何字段,例如职业,则在 csv 中,
laura,female,30
生成的 xml 应该是
<criteria name="laura" sex = "female" age = "30"/>
如果 csv 是:
laura,female,,lawyer
它产生
<criteria name="laura" sex = "female" age = "" profession = "lawyer"/>
我希望 xml 在哪里
<criteria name="laura" sex = "female" profession = "lawyer"/>
有人可以帮我写出在 groovy 中执行此操作的代码吗?
我使用的代码是
CommonsMultipartFile multiPartFile=fileList.first()
params.type = 'text/csv'
if(CSV_MIME_TYPE.contains(params.type)){
InputStream inputStream= multiPartFile.getInputStream()
def writer=new StringWriter()
def xmlBuilder= new MarkupBuilder(writer)
xmlBuilder.setDoubleQuotes(true)
xmlBuilder.root(){
inputStream.eachLine{ line->
def a,b,c,d,e,f,g
(a,b,c,d) = line.split(',',-1)
criteria(name:a,sex:b,age:c,profession:d)
}
【问题讨论】: