csv到xml:不确定在Mule ESB中实现这一点的最佳方法

csv到xml:不确定在Mule ESB中实现这一点的最佳方法,mule,Mule,我是骡子的新手,所以请容忍我。我收到以下CSV文件: Company1,2,123 Street,Winchester,UK "000010","CHRISTINE","I","HAAS","A00","3978","1995-01-01","PRES",18,"F","1963-08-24",152750.00 "000020","MICHAEL","L","THOMPSON","B01","3476","2003-10-10","MANAGER",18,"M","1978-02-02",94

我是骡子的新手,所以请容忍我。我收到以下CSV文件:

Company1,2,123 Street,Winchester,UK
"000010","CHRISTINE","I","HAAS","A00","3978","1995-01-01","PRES",18,"F","1963-08-24",152750.00
"000020","MICHAEL","L","THOMPSON","B01","3476","2003-10-10","MANAGER",18,"M","1978-02-02",94250.00
第一行标题包含公司信息加上CSV文件中的记录数(员工数)(标题中的第二个parm)

现在我需要将其转换为以下XML:

<?xml version="1.0" encoding="UTF-8"?>
<tns:employeedata xmlns:tns="http://coxb.test.legstar.com/payrollemployee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://coxb.test.legstar.com/payrollemployee PayrollEmployee.xsd ">
  <tns:employeecount>2</tns:employeecount>
  <tns:employeelist>
    <tns:employees>
      <tns:employeenumber>000010</tns:employeenumber>
      <tns:firstname>CHRISTINE</tns:firstname>
      <tns:middleinitial>I</tns:middleinitial>
      <tns:surname>HAAS</tns:surname>
      <tns:department>A00</tns:department>
    </tns:employees>
    <tns:employees>
      <tns:employeenumber>000020</tns:employeenumber>
      <tns:firstname>MICHAEL</tns:firstname>
      <tns:middleinitial>L</tns:middleinitial>
      <tns:surname>THOMPSON</tns:surname>
      <tns:department>B01</tns:department>
    </tns:employees>
  </tns:employeelist>
</tns:employeedata>

2.
000010
克里斯汀
我
哈斯
A00
000020
迈克尔
L
汤普森
B01
我可以很容易地转换这个文件,而不需要第一行(头)。我的问题是如何处理标题并提取/转换“employeecount”


任何帮助都将不胜感激。

最简单的方法是使用。将输入设置为CSV(使用示例CSV),将输出设置为XML(使用XSD或示例XML)

进入映射视图后,单击employeecount字段。您将看到一个可以输入表达式的区域。在.0中有一个非文档化参数
$in.\u id
,您可以使用它来包含记录计数。请注意,这仅适用于CSV文件


关于如何跳过第一行,DataMapper默认会这样做。

谢谢Dan。我试过了你的建议,但成功了一半。我通过映射得到的结果是:谢谢你,丹。我试过了你的建议,但成功了一半。映射的结果是多个根XML结构“employeedata”,其中一个“employees”元素和“employeecount”字段在输出XML的每个新条目中递增一(类似于java中的循环输出)。我没有得到一个根元素“employeedata”和一个嵌套列表“employeecount”元素。我不确定是我无法正确使用DataMapper,还是该工具“按设计”工作。