2012-09-24 33 views
0

我有一個CSV文件,我必須把它轉換成與Smooks的一個一個xml,我的CSV文件格式:的Smooks CSV和FTL

名字,姓氏,性別,年齡,國家

,我必須把它trasnform到

<Message> 
<record> 
<name>firstname</name> 
</record> 
... 
</Message> 

,我寫我的Smooks配置爲:

<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd" 
    xmlns:core="http://www.milyn.org/xsd/smooks/smooks-core-1.4.xsd" 
    xmlns:csv="http://www.milyn.org/xsd/smooks/csv-1.2.xsd" 
    xmlns:ftl="http://www.milyn.org/xsd/smooks/freemarker-1.1.xsd"> 

    <csv:reader fields="firstname,lastname,gender,age,country" 
     separator=",;" rootElementName="Message" recordElementName="record" /> 

    <ftl:freemarker applyOnElement="Message"> 
     <ftl:template> 
     <!-- 
      <ImageMessage> 
       <record>${Message.record.firstname}</record> 
      </Message> 
     --> 
     </ftl:template> 
    </ftl:freemarker> 

    <core:exports> 
     <core:result type="org.milyn.payload.StringResult" /> 
    </core:exports> 

</smooks-resource-list> 

但是,這拋出一個錯誤。如果我刪除了我的代碼的一部分,而不是對xml的基本轉換,所以我想我錯誤地使用了ftl。任何幫助?

回答

2

在使用FreeTemplateMarker之前,您必須將其綁定到java對象。