2017-05-30 62 views
0

我有一个XML文件,必须将其转换为CSV文件,然后附加到工作对象中?将csv文件附加到工作对象

我已经尝试了通过编写一个活动并使用pxConvertResultsToCSV活动,然后尝试使用链接对象方法附加文件,但是由此所有的结果都会出现在单个行中。应遵循

回答

0

几个步骤......

1)解析使用活性的方法Apply-Parse-XML的XML。 您将在PageList中获取XML数据。

2)现在在Rule-Obj-Html规则上创建。在代码部分创建于现在使用Property-Set-HTML让你的HTML规则在一些PARAM变量流表

<table border="1">  
<pega:forEach name="YourPageListPage.PageList"> // --> the pagelist in which got the info from xml. 

<tr>  
    <TD> 
    <pega:reference name="$THIS.COLUMN1"/> // --> property name 
    </TD> 
    <TD> 
    <pega:reference name="$THIS.COLUMN2"/> // --> property name 2 
    </TD> 
     </tr> 
    </pega:forEach> 
</table> 

3)(例如param.pyFileData) 还可以创建一个局部变量strFileData

解码流使用Java步骤。并使用此代码。

String atr = (String)tools.getParameterPage().getParameterValue("pyFileData"); 

byte[] byteArray=(byte[])atr.getBytes(); 

//encode the byte array into Base64. 
strFileData = Base64Util.encodeToString(byteArray); // strFileData is local variable mentioned in activity. 

4)现在,创建Data-WorkAttach-File类的页面,并设置页面上以下属性。

.pxRefObjectKey --> pzinskey of work object 
.pxAttachKey --> any key, maybe current date time 
.pyAttachStream --> your stream which you got from 3rd step (local.strFileData) 
.pyNote   --> any note 
.pxAttachName --> "filename.csv" 

休息我想已经知道.. 保存使用Obj-Save

5)使用Link-Objects附上您的附件页的工作对象这个页面。

就是这样。